透過 MCP 連接 →

輸入計算

數學公式

數學公式: 用內接與外切多邊形計算圓周率 π
Show calculation steps (1)
  1. Initial bounds

    Initial bounds: 用內接與外切多邊形計算圓周率 π

    Square branch starts from a square; hexagon branch starts from a regular hexagon. Both bracket pi.

廣告

結果

Approximate π
3.1415926535897927
內接與外切上下界的中點
外切多邊形周長 a(上界) 3.1415926535897927
內接多邊形周長 b(下界) 3.1415926535897927
最終多邊形的邊數 536,870,912

這個計算器的用途

本工具採用古典的阿基米德法來逼近數學常數圓周率(π)。當圓的直徑為 1 時,其圓周長恰好等於 π。緊貼在圓外側畫出的正多邊形(外切)周長會略大於 π,而畫在圓內側的正多邊形(內接)周長則略小於 π。只要不斷將邊數加倍,這兩個周長就會從上、下兩個方向同時向 π 靠攏,把它牢牢夾住。

一個圓,內部有一個內接正六邊形,外部有一個更大的外接正六邊形,兩者共用同一圓心。
阿基米德的方法將圓周率夾在內接多邊形(較小)和外接多邊形(較大)之間。

使用方法

先選擇起始的多邊形——正方形(4 邊形)或正六邊形(6 邊形)。接著輸入倍增次數 \(n\);經過 \(n\) 次倍增後,多邊形會有 \(4 \cdot 2^n\) 個邊(正方形分支)或 \(6 \cdot 2^n\) 個邊(六邊形分支)。再選擇要顯示的小數位數。當上下界已逼近到電腦的運算精度極限時,計算器會自動提前停止,因此即使輸入很大的 \(n\) 也完全沒問題。

公式說明

設 \(a\) 為外切多邊形的周長、\(b\) 為內接多邊形的周長。每一次迭代先計算 $$a_{k+1} = \frac{2\,a_k\,b_k}{a_k + b_k},$$ 也就是前一輪 \(a\) 與 \(b\) 的調和平均數;接著計算 $$b_{k+1} = \sqrt{a_{k+1}\,b_k},$$ 即新的 \(a\) 與舊的 \(b\) 的幾何平均數。正方形分支的起始值為 \(a_0 = 4\)、\(b_0 = 2\sqrt{2} \approx 2.8284271\);六邊形分支的起始值為 \(a_0 = 2\sqrt{3} \approx 3.4641016\)、\(b_0 = 3\)。在任何時刻都滿足 \(b < \pi < a\)。

Advertisement
三個圓的序列,展示邊數不斷增加的多邊形逐漸收斂為圓形。
將邊數加倍可使兩個邊界都收斂於圓周率。

計算範例

以正方形為例:\(a_0 = 4\)、\(b_0 = 2.82842712\)。第一輪得到 $$a_1 = \frac{2 \cdot 4 \cdot 2.82842712}{6.82842712} = 3.31370850,$$ 以及 $$b_1 = \sqrt{3.31370850 \cdot 2.82842712} = 3.06146746.$$ 第二輪得到 \(a_2 \approx 3.18259788\)、\(b_2 \approx 3.12144515\)。大約倍增 25 次之後,上下界就收斂到 \(3.141592653589793\),也就是雙精度浮點數下完整的 π 值。

常見問題

為什麼要用直徑為 1 的圓?因為這時圓周長剛好等於 π,所以多邊形的周長就是 π 的直接估計值,完全不需要再做任何縮放換算。

為什麼還沒跑滿 \(n\) 次就停了?一般的雙精度運算大約能保留 15–16 位有效數字。當 \(a\) 與 \(b\) 在這個精度下已經完全相同時,再多迭代也無法讓答案更準確,因此程式會提前結束。

正方形和六邊形——哪個比較好?兩者最終都會收斂到相同的數值。六邊形的起始值離 π 更近,所以要達到同樣的精確度,所需的倍增次數會稍微少一些。

最後更新: