求冪級數展開的部分和(C語言)
阿新 • • 發佈:2022-03-14
習題4-2 求冪級數展開的部分和 (20 分)
已知函式ex可以展開為冪級數1+x+x2/2!+x3/3!+⋯+xk/k!+⋯。現給定一個實數x,要求利用此冪級數部分和求ex的近似值,求和一直繼續到最後一項的絕對值小於0.00001。
輸入格式:
輸入在一行中給出一個實數x∈[0,5]。
輸出格式:
在一行中輸出滿足條件的冪級數部分和,保留小數點後四位。
輸入樣例:
1.2
輸出樣例:
3.3201
分析:該題理解並不難,但我在做題過程中因為定義了一個:s = pow(x, i) * 1.0 / m,並在迴圈條件中用s與0.0001比較,而出錯了,換成pow(x, i) * 1.0 / m比較則結果正確。
C語言程式碼如下:
1 #include <stdio.h> 2#include <math.h> 3 int main(){ 4 double x, i, m = 1, sum = 1; 5 scanf("%lf", &x); 6 for(i = 1; pow(x, i) * 1.0 / m > 0.00001; i++){ 7 m *= i; 8 sum += pow(x, i) * 1.0 / m; 9 } 10 printf("%.4f", sum); 11 return 0; 12 }