您當前的位置:首頁 > 動漫

如何手動高精度計算函式 f(x)=(exp(x)-1)x 的值?

作者:由 Devymex Wang 發表于 動漫時間:2021-12-27

如何手動高精度計算函式 f(x)=(exp(x)-1)x 的值?Devymex Wang2021-12-27 07:41:31

遇到一道程式設計題,要求計算指定x的值並進行高精度輸出。因計算機資料精度有限,我又不會如何構建小數的高精度,於是我想到的方法是模擬手工運算並逐位輸出結果。但我數學也不太好……所以請各位大神指教。

另附原題:

Description

考慮函式f(x)=(exp(x)-1)/x,由洛必達法則容易證明,f(x)在0點的極限為1。對x=10^(-k)(k為正整數),編寫程式計算f(x) ,觀察計算機計算結果與理論推導是否一致,解釋原因,並思考如何提高計算精度。

設計一個程式,當給定k時按要求精度輸出函式的值。當k值特別大時,可能會超出現有資料型別的取值範圍或精度,這時需要重新定義資料及其運算操作。

Input Description

程式輸入兩個正整數k和n,用空格隔開。k表示x=10^(-k),n表示輸出精度為小數點後n位。

Output Description

程式輸出的是函式值,輸出結果是唯一的。

如何手動高精度計算函式 f(x)=(exp(x)-1)x 的值?2014-12-13 08:46:57

不給資料範圍的問題都是耍流氓

n最大是多少?

10?

10000?1000000000000000000000?

如何手動高精度計算函式 f(x)=(exp(x)-1)x 的值?2014-12-12 21:34:13

先自己構建一個自定精度的浮點數類。

在不考慮效率的情況下,exp可以用泰勒展開,進行多項式擬合。你可以逐次加項,一直到期望精度以內的值穩定。

標簽: 精度  description  10  輸出  EXP