给定一个数字 x。您需要计算 e^x 的泰勒级数之和。
e^x = 1 + x + x^2/2!+ x^3/3!+ ...
计算总和,直到一般数字小于或等于 10^(-9)。
下面是我的解决方案,但 x<0 数字是错误的。您是否知道如何解决此问题以适用于负数。
int x,i,n;
long long fact; //fact needs to be double
double sum=0,k=1;
scanf("%d",&x);
i=0; sum=0; k=1;
while (fabs(k)>=1.0E-9) {
fact=1;
for (int j=1;j<=i;++j)
fact*=j;
k=pow(x,i)/fact;
sum+=k;
++i;
}
printf("%lf\n",sum);