Bueno mas o menos entiendo, intente hacerlo de otra forma, para comprobar el valor de "e" constantemente:
Código:
#include <stdio.h>
int main ()
{
int ni = 1; //es el factorial !n
float e = 1; // valor de "e"
int contador = 2; //contador lo incie en 2
int n = 2;
printf("%f\n", e);
e += (float)1/ni; //aqui "e" vale 2
++ni;
printf("%f\n", e);
while (e <= 2.7){
while (n != 1){
ni = ni * (n-1);
--n;
}
++contador;
n = contador; //lo que hago es darle el valor de contador a "n"
e += (float)1/ni;
++ni;
printf("%f\n", e);
}
printf("%f\n", e);
printf("Fin\n");
system("pause");
return 0;
}
el resultado me da:
1.000000
2.000000
2.500000
2.666667
2.690476
2.691445
2.691453 Este resultado se repite como 20 veces mas.
y los dos últimos me dan:
1.#INF00
1.#INF00
Fin
Entonces el resultado que mas se acerca a "e" seria 2.691453?
El valor de e?
Código:
while ( e - 2.718055 < 1e-5 )
¿Por cierto el "1e-5" a que se refiere?