domingo, 7 de octubre de 2012

PROBLEMA 3 (Obtener Numero e) C/C++

De la serie de Problemas para empezar a programar en C/C++: PROBLEMA NUMERO 3.

Obtener el número e mediante la serie e=1/1!+1/2!+1/3!+...+1/n!
Existen otros programas en el blog para el cálculo de otros números irracionales (10.000 decimales de PI) que en cierta manera se asemejan a este.

#include <stdio.h>

float factorial(int n);

int main(void)
{
    float e,error,epsilon;
    int a;
   
    printf("Introduzca el error maximo (Ej. 0.001):");
    scanf("%f",&error);
   
    e=0; a=0;
    epsilon=error+1;
   
    while (error<epsilon)
    {
        e=e+(1/(factorial(a)));
        a++;
        epsilon=(1/(factorial(a)));
    }
    printf("E vale %f con un error de %f.",e,error);
}

float factorial(int n)
{
    float resp;
   
    if ((n==0)||(n==1)) return(1);
    resp=factorial(n-1)*n;
    return(resp);
}



Salu10!!

No hay comentarios:

Publicar un comentario