1. 程式人生 > >多項式求和x+(x^2)/2!+(x^3)/3!+...

多項式求和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
}