已知函数ex 可以展开为幂级数1+x+x2 /2!+x3 /3!+⋯+xk /k!+⋯。现给定一个实数x,要求利用此幂级数部分和求e
x 的近似值,求和一直继续到最后一项的绝对值小于0.00001。
输入格式:
输入在一行中给出一个实数x∈[0,5]。
输出格式:
在一行中输出满足条件的幂级数部分和,保留小数点后四位。
输入样例1:
1.2
输出样例1:
3.3201
答案代码块
#include <stdio.h>
int main(){
int i;
double x,sum=1.0,n=1.0;//n需要一个初始值
scanf("%lf",&x);
if(x>5 && x<0){
return 0;
}
for( i=1 ; fabs(n)>0.00001;i++){ //分母阶乘自加 ,fabs为绝对值
n=pow(x,i)/factorial(i);
sum+=n;
}
printf("%.4f",sum);
return 0;
}
double factorial(int x){ //递归阶乘
double sum=0.0;
if(x==0){
return 1;
}else{
sum= x*factorial(x-1);
}
return sum;
}