k175. 圓周率的估算誤差
標籤 :
通過比率 : 30人/31人 ( 97% ) [非即時]
評分方式:
Tolerant

最近更新 : 2023-03-21 05:16

內容

圓周率一直都吸引古今中外許多數學家的興趣,至今還是有很多人為之著迷。

幾個文明古國很早就須計算出 π 的精確值以便於生產的計算,當時的數學家們嘗試用「割圓術」,也就是在圓內刻畫出邊數越來越多的多邊形來逼近圓,以計算出更精確的圓周率值。阿基米德曾使用過一個 96 邊形。西元5世紀,中國的數學家劉徽先後構建出了一個 192 邊形和一個 3072 邊形,成功將 π 值精確到 3.1416。祖沖之則在公元 480 年利用計算 24576 形的邊長,將圓周率計算到小數點後 7 位。微積分出現,π 的位數很快計到數百位,足以滿足任何科學工程的計算需求。在 20 和 21 世紀,隨著電腦技術快速發展,π 的計算精度大幅提高。截至2022年6月,π 的十進位精度已達1014位。有趣的是,人類背誦 π 值的世界記錄也已達10萬位。

事實上,當前計算 π 的值主要都為打破記錄或是測試超級電腦的計算能力,因為幾乎所有科學研究對 π 的精度要求都不超過幾百位。以地球的圓周四萬公里來說,只要用小數點以下九位數的 π 來計算地球的直徑,誤差就已經在一公分以內。

為了驗證當年數學家用「割圓術」求 π 的誤差,現在就請你來算一下,內接 𝑛 邊形的邊長和電腦內存 64 位元雙精度的 π 之間的誤差是多少。

直徑為 1 的圓其周長就是 π,其內接正 𝑛 邊形的周長則為 𝑛⋅𝑠𝑖𝑛(π/𝑛)。

當然,古時候的數學家沒有電腦、計算機可用,當時也還沒有三角函數。他們能用的 𝑛 必須是 6 × 2𝑘,𝑘 為自然數,因為這樣的 𝑛 邊形只需要用到平方根運算,雖然當年連平方根運算也很困難。但是現在你可以利用上述的公式來推估當年的誤差,而這個公式可以求任意內接 𝑛 邊形的周長。但是因為 64 位元雙精度浮點數只有大約 15 位的有效數字,我們的 𝑛 也不能太大。

對於所求的誤差,我們比較有興趣知道它是小數點以下幾位數而不是它的精確度,因此答案請以科學記號表示,精確度只要小數點以下兩位數即可。

Python 的 π 可以用 math.pi,C++ 的 π 可以用 acos(-1)。

 

輸入說明

輸入只有一行,含有一個整數 𝑛 (3 ≤ 𝑛 ≤ 105)。

輸出說明

以科學記號輸出誤差到小數點以下二位數。

範例輸入 #1
96
範例輸出 #1
5.61e-04
範例輸入 #2
3072
範例輸出 #2
5.48e-07
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1K
公開 測資點#2 (10%): 1.0s , <1K
公開 測資點#3 (10%): 1.0s , <1K
公開 測資點#4 (10%): 1.0s , <1K
公開 測資點#5 (10%): 1.0s , <1K
公開 測資點#6 (10%): 1.0s , <1K
公開 測資點#7 (10%): 1.0s , <1K
公開 測資點#8 (10%): 1.0s , <1K
公開 測資點#9 (10%): 1.0s , <1K
提示 :
標籤:
出處:
板橋高中教學題 [管理者: snail (蝸牛) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」