Cálculo de la constante e
Publicado por Franco Cedillo (36 intervenciones) el 17/07/2005 20:47:04
Hola,
Estoy calculando el valor de la constante e con la aproximación que da la suma de las divisiones de la unidad entre los factoriales. Esta suma se realiza mientras el término a sumar sea significativo. Como el término tiene la forma 1/fact(x) entonces tomo un valor de 10^-9 como el menos significativo. Además para facilitar las cosas y no hacer cálculos de más no implemento la función factorial sino que tomo una variable y la voy multiplicando aprovechando que el cálculo de la sumatoria abarca un rango "contínuo" de valores. Se produce un error, tal vez de redondeo de la variable float. no sé cómo remediar esto.
Saludos.
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
void main()
{
int i=1, fact;
float s=0;
fact = 1;
while (fact<1000000000)
{
s = s + 1/fact;
i++;
fact = fact*i;
};
cout<<s;
getch();
}
Estoy calculando el valor de la constante e con la aproximación que da la suma de las divisiones de la unidad entre los factoriales. Esta suma se realiza mientras el término a sumar sea significativo. Como el término tiene la forma 1/fact(x) entonces tomo un valor de 10^-9 como el menos significativo. Además para facilitar las cosas y no hacer cálculos de más no implemento la función factorial sino que tomo una variable y la voy multiplicando aprovechando que el cálculo de la sumatoria abarca un rango "contínuo" de valores. Se produce un error, tal vez de redondeo de la variable float. no sé cómo remediar esto.
Saludos.
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
void main()
{
int i=1, fact;
float s=0;
fact = 1;
while (fact<1000000000)
{
s = s + 1/fact;
i++;
fact = fact*i;
};
cout<<s;
getch();
}
Valora esta pregunta


0