已知函数e ​x ​​ 可以展开为幂级数1+x+x ​2 ​​ /2!+x ​3 ​​ /3!+⋯+x ​k ​​ /k!+⋯。现给定一个实数x,要求利用此幂级数部分和求e ​x ​​ 的近似值,求和

习题4-2 求幂级数展开的部分和 (20分)

已知函数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
#include<stdio.h>
#include<math.h>
double JC(int i);//阶乘 
double MC(double x,int i);//幂次 
int main()
{
	double sum=0;
	int n=0;
	double x;
	scanf("%lf",&x);
	double a;
	do
	{
		a=MC(x,n)/JC(n);
		sum=sum+a;
		n=n+1;
	}while(a>=0.00001);
	printf("%.4f",sum);
	return 0;
} 
double MC(double x,int i)
{
	double mc=1;
	while(i)
	{
		i=i-1;
		mc=mc*x;		
	}
	return mc;
}
double JC(int i)
{
	double jc=1;
	if(i==0)
	jc=1;
	else
	{
		int k;
		for(k=1;k<=i;k++)
		jc=jc*k;
	}
	return jc;
}

 


版权声明:本文为zwbzero原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。