多项式求和x+(x^2)/2!+(x^3)/3!+...

Description
输入一个实数x,计算多项式x+(x2)/2!+(x3)/3!+…的和,直到末项的绝对值小于0.00001(保留三位小数)

Input
输入一个实数x

Output
输出多项式的和, 保留三位小数。

Sample Input
1
2
3.2
Sample Output
1.718
6.389
23.533

#include<stdio.h>
#include<math.h>
int main()
{
double fact(int n);
int i;
double x,s;
while(scanf("%lf",&x)!=EOF)
{
i=1;
s=0;
while(pow(x,i)1.0/fact(i)>=0.00001)//满足成立条件,前提
{
s+=pow(x,i)1.0/fact(i);//即s=s+pow(x,i)1.0/fact(i)
i++;//1,2,3数字不断增大
}//本次循环结束,要输出s的值
printf("%.3f",s);
}
return 0;
}
double fact(int n)//定义fact()即阶乘,看起来更方便清楚
{
double sum=1;//老道理:叠乘设一,叠加设零
while(n>0){//循环成立条件
sum=sum
n;
n–;
}//从n开始叠乘,n!=n
(n-1)
(n-2)*。。。。*1
return sum;//返回到原值,刚才设什么返回什么,这边不能return 0
}

猜你喜欢

转载自blog.csdn.net/z2431435/article/details/83446646