已知函数ex可以展开为幂级数1+x+x2/2!+x3/3!+⋯+xk/k!+⋯。现给定一个实数x,要求利用此幂级数部分和求ex的近似值,求和一直继续到最后一项的绝对值小于0.00001。
输入格式:
输入在一行中给出一个实数x∈[0,5]。
输出格式:
在一行中输出满足条件的幂级数部分和,保留小数点后四位。
源代码:
#include<stdio.h>
#include<math.h>
int main()
{
int c;
double a = 1, j, x, sum = 1, d;
scanf("%lf", &x);
for (double i = 1; a >= 0.00001; i++)
{
j = pow(x, i);
d = 1;
for (c = 1; c <= i; c++)
{
d = d * 1.0 / c;
}
a = j * d;
sum = sum + a;
}
printf("%.4lf", sum);
return 0;
}
该程序采用牛顿-莱布尼茨公式展开ex的幂级数,通过逐步累加项直到最后一项的绝对值小于0.00001,从而在[0,5]区间内对给定实数x求得ex的近似值。程序中运用了循环和双重循环计算每一项的系数,并确保精度满足要求。
1883

被折叠的 条评论
为什么被折叠?



