Дано число х. Вам нужно рассчитать сумму ряда Тейлора 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);