Buongiorno a tutti ,
sono nuovo in questo forum e spero di trovare un ambiente prospero per scambiare idee e averne di nuove
Detto questo, ho riscontrato un problema scrivendo un programma in C (sono nuovo a tale linguaggio e non ho avuto significative esperienze di programmazione in passato) che calcolasse il numero di nepero con la formula e= 1 +1/1! +1/2! + 1/3! +... potendo decidere a piacere il grado di precisione di e fermando la somma non appena l'n-simo termine della serie risulta più piccolo di un valore frazionario immesso dall'utente..il problema è che prescindere dalla precisione immessa il valore di e viene stampato sempre e solo con 6 cifre dopo la virgola e non riesco ad ottenere una precisione maggiore...vi chiedo aiuto
/*Calcolo il numero di nepero con un grado di precisione scelto dall'utente*/
#include <stdio.h>
int main (){
double e = 1.0f ;
double eps ;
double divisore = 1.0f ;
int i ;
printf( "Inserire il limite inferiore dell'ennesimo termine della serie di Nepero : " ) ;
scanf ( "%lf", &eps ) ;
i=1 ;
while ( (1.0f/divisore) >= eps ) {
e = e + (1.0f/divisore) ;
i +=1 ;
divisore = divisore * (double) i ;
}
printf ("\napprox e = %lf " , e );
return 0 ;
}