Powrót do listy plików
xdo20.c
#include <stdio.h>
#include <math.h>
#include <ctype.h>
#include <stdlib.h>
//typedef double typ;
int main(){
float fx=0.618033989;
float fxnplus1,fxn,fxnmniej1;
double dx=0.618033989;
double dxnplus1,dxn,dxnmniej1;
int i;
printf("x*=x\n");
for(i=0;i<20;i++){
fx*=fx;
// printf("x^%i= %.10f\t",i+1,fx);
// printf("x^%i= %.10f\n",i+1,dx);
if (fx==0){
printf("float x sie zeruje przy x^%i\n",i+1);
break;
}
}
// printf("x^20= %.10f\t",fx);
for(i=0;i<20;i++){
dx*=dx;
if (dx==0){
printf("double x sie zeruje przy x^%i\n",i+1);
break;
}
}
// printf("x^20= %.10f\n",dx);
printf("a teraz x^n=x^{n-1} - x^n\n");
fx=0.618033989;
dx=0.618033989;
fxnmniej1=fx;
fxn=.3819660115592521; //wynik z maximy
dxnmniej1=dx;
dxn=.3819660115592521; //wynik z maximy
//zaczynamy od 3
for(i=2;i<20;i++){
fxnplus1=fxnmniej1-fxn;
fxnmniej1=fxn;
fxn=fxnplus1;
dxnplus1=dxnmniej1-dxn;
dxnmniej1=dxn;
dxn=dxnplus1;
// printf("x^%i= %.10f\t",i+1,fxn);
// printf("x^%i= %.10f\n",i+1,dxn);
}
printf("float x^20=\t%.10f\n",fxn);
printf("double x^20=\t%.10f\n",dxn);
printf("powinno byc\t0.0000661070\n");
}
syntax highlighted by
Code2HTML, v. 0.9.1
kod przerobiony z HTML na XHTML za pomocą HTML Tidy for Linux/x86
Materiały z Metod Numerycznych udostępnione zostały na zasadach licencji GPL w wersji 2.