Tratando de resolver la serie que da e^x. me topo que mi sumador se estanca en 2 por lo que deja de sumar cuando toca sumarle decimales. tal como esta si ingreso 1 como para calcular una aproximado de e (neperiano) aprox 2.71 ...se estanca en 2. alguna sugerencia o error que vean en mi codigo?
Código:
#include <iostream>
#include <math.h>
using namespace std;
int factorial(int num){
int fac=1;
while(num > 1){
fac = fac * num;
num--;
}
return fac;
}
int exponencial(double x, int n){
double exp;
exp = pow(x,n) / factorial(n);
return exp;
}
int main()
{
int num;
double e=0.0;
cout<<"Digite un numero:";
cin>>num;
//el i-max varia al +infinito
for(int i = 0;i<=20;i++){
e = e + exponencial(num,i);
}
cout<<"la respuesta es "<<e<<endl;
system("PAUSE");
return 0;
}