求幂级数展开的部分和
作者:互联网
已知函数e^x
可以展开为幂级数1 + x + x ^ 2 / 2 ! + x ^ 3 / 3 ! +⋯ + x ^ k / k ! + ⋯ 。现给定一个实数x,要求利用此幂级数部分和求e ^ x 的近似值,求和一直继续到最后一项的绝对值小于0.00001。
输入格式:
输入在一行中给出一个实数x∈[0,5]。
输出格式:
在一行中输出满足条件的幂级数部分和,保留小数点后四位。
输入样例:
1.2
输出样例:
3.3201
思路:
从题目所给的公式中发现每次的变值有着一定规律
x / 1
x * x / 1 / 2
x * x * x / 1 / 2 / 3
所以可以用for循环解决然后只要有一次所得值小于0.00001就跳出循环。
AC代码:
#include<stdio.h>
#include<math.h>
double x,sum,a;
int main(){
while(scanf("%lf",&x)!=EOF){
sum=1;
a=1;
for(double i=1;i<999;i++){
a=a*x/i; // x/1! x*x/1/2 x*x*x/1/2/3
sum+=a;
if(a<0.00001){
break;
}
}
printf("%.4lf\n",sum);
}
return 0;
}
丿轮回灬残念彡
发布了6 篇原创文章 · 获赞 1 · 访问量 230
私信
关注
标签:double,sum,0.00001,样例,幂级数,include,部分,展开 来源: https://blog.csdn.net/qq_44669377/article/details/104555481