已知函式ex可以展開為冪級數1。現給定乙個實數x,要求利用此冪級數部分和求ex的近似值,求和一直繼續到最後一項的絕對值小於0.00001。
輸入在一行中給出乙個實數0。
在一行中輸出滿足條件的冪級數部分和,保留小數點後四位。
1.2
3.3201
1 #include2 #include3 #include4 #include5
double fact(int n)
10return
sum;11}
12int
main() 28}
29 printf("
%.4lf
", e);
30return0;
31 }
這個題目我覺得很有必要放上來。
這個題目我遇到的問題是:精度不夠,導致x取到比較大的值時,資料溢位,導致出錯。
具體一點,我之前寫的**,在fact函式裡面,它的返回值型別和裡面的sum,我用的是int型別,因為它就是整數,我覺得用double有點顯得多此一舉,沒想到輸在了這裡。
int 精度 沒有double精度高,所以乙個答案通不過,就是最大x。
例如,當x取到5時,fact返回的數字就是亂碼的了,甚至是負數,因為精度不夠,導致main函式裡面temp是負數並且越來越大,死迴圈。
最最生氣的是,我竟然不知道哪出錯了,我檢查了很多遍都不清楚**出問題。。。。
習題4 2 求冪級數展開的部分和 (20 分)
已知函式e x 可以展開為冪級數1 x x 2 2 x 3 3 x k k 現給定乙個實數x,要求利用此冪級數部分和求 e x的近似值,求和一直繼續到最後一項的絕對值小於0.00001。輸入格式 輸入在一行中給出乙個實數x 0,5 輸出格式 在一行中輸出滿足條件的冪級數部分和,保留小數點後四位。輸入...
7 5 求冪級數展開的部分和 20 分
已知函式e x 可以展開為冪級數1 x x 2 2 x 3 3 x k k 現給定乙個實數x,要求利用此冪級數部分和求e x 的近似值,求和一直繼續到最後一項的絕對值小於0.00001。輸入格式 輸入在一行中給出乙個實數x 0,5 輸出格式 在一行中輸出滿足條件的冪級數部分和,保留小數點後四位。輸入...
遞迴求簡單交錯冪級數的部分和
本題要求實現乙個函式,計算下列簡單交錯冪級數的部分和 f x,n x x 2 x 3 x 4 1 n 1 x n 函式介面定義 double fn double x,int n 其中題目保證傳入的n是正整數,並且輸入輸出都在雙精度範圍內。函式fn應返回上述級數的部分和。建議嘗試用遞迴實現。裁判測試程...