ciao,
non è molto che programmo in c e vorrei qualche dritta per
migliorare questo sorgente per il calcolo di exp(x), con particolare riferimento ai tipi da usare e agli specificatori di formato. Comunque sono certo che
qualcosa si possa affinare anche negli algoritmi usati...
codice:
#include <stdio.h>
#define MAX_N 10
long fct(long); /* fattoriale*/
long double pow(long double, long); /*potenza*/
long double exp(long double); /* exp */
int main(){
printf("%Lf\n\n", exp(1));
return(0);
}
long fct(long x){
int i;
long f = 1;
if(x == 0) return(1);
for(i = 1; x > 0; --x){
f = f * i;
++i;
}
return(f);
}
long double pow(long double x, long i){
int j;
long double p;
if(i == 0) return(1);
if(i == 1) return(x);
p = x;
for(j = 1; j < i; ++j) p = p*x;
return(p);
}
long double exp(long double x){
int i;
long double sum, e;
for(i = 1; i <= MAX_N; ++i) sum = sum + (pow(x, i)/fct(i));
e = 1 + sum;
return(e);
}
grazie tante
ciao