Wendy_Jacky
#include
#include
#define e 2.718281828459
long factorial(int n);
double pow1(double x);
int main()
{
int n;
scanf("%d", &n);
for (int i = 0; i
{
double d;
scanf("%lf", &d);
printf("%.8f ", pow1(d));
}
return 0;
}
/**
* 计算e^x
* e^x= 1 + x + x^2/2! + ... + x^i/i! + ...
* @param x [description]
* @return [description]
*/
double pow1(double x)
{
int i = 2;
double temp;
double d1 = 1.0;
double d2 = x;
double sum = d1 + d2;
while (d1 - d2 - 0.000000001 >= 0)
{
d1 = d2;
d2 = pow(x, i) / factorial(i);
sum += d2;
i++;
}
return sum;
}
/**
* 求阶乘
* @param n [description]
* @return [description]
*/
long factorial(int n)
{
if (n == 0 || n == 1)return 1;
else return (n * factorial(n - 1));
}