切換
舊版
前往
大廳
主題

ZeroJudge - e470: 無窮級數之和(一) 解題心得

Not In My Back Yard | 2019-10-20 23:22:18 | 巴幣 2 | 人氣 255

題目連結:


題目大意:
給定一正整數 n (n < 2 ^ 31)。求 1 / 1 + 1 / 2 + 1 / 3 + …… + 1 / n 之值。請將值四捨五入至小數點第三位後輸出。



範例輸入:
10
100
1000
10000


範例輸出:
2.929
5.187
7.485
9.788


解題思維:
首先,這個級數 1 / 1 + 1 / 2 + 1 / 3 …… 有一個數學上的稱呼為「調和級數」。與直覺相反的是,這個級數是會發散的。(儘管發散的速度慢到嚇人)

可以到其維基頁面看到相關的證明(想看更詳細的,可以切換成英文頁面)。

總之,對於這題來說,1 / 1 + 1 / 2 + 1 / 3 + …… + 1 / n 有相當精確的逼近。即
ln n + γ + (1 / 2n) + (1 / 12n ^ 2)
其中 ln 是自然對數、γ 是歐拉-馬斯刻若尼常數,其值約為 0.577215664901532 。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

大大的程式碼似乎給錯了喔
2019-10-21 22:55:02
Not In My Back Yard
感謝提醒,已修正。
2019-10-21 22:56:47

相關創作

更多創作