← 數學與統計

圓周率演算法競賽

在清楚相同的條件下比較四種圓周率演算法。固定時間會分別給每種演算法相同預算;固定小數位會記錄每種方法首次達到相同精度目標的時間。

這是在目前裝置及瀏覽器中執行的教學型基準。演算法會依次執行,時間預算分別套用到每一種演算法。選擇四種演算法並設定 1,000 ms 時,整次執行通常約需 4 秒或更久。瀏覽器負載及計時排程會影響結果,因此這不是普遍適用的效能排名。

如果你想先理解每種方法的近似過程,請先打開 圓周率近似探索器。這個頁面更適合橫向比較。需要實用十進制前綴時,再繼續到 圓周率數字產生器

其他語言 日本語 | English | 简体中文 | 繁體中文 | 繁體中文(香港) | Español | Português (Brasil) | Français | Italiano
3 步開始
  1. 先保持四種演算法全部選中,用預設目標跑一次。
  2. 不要只看赢家卡片,要同時看圖表和比較表,理解差距是怎麼拉開的。
  3. 想複用課堂設定時,可以讀取其他範例,或直接複製 URL。

課堂範例:先用四種演算法一起跑,再切換到較短的目標位數做第二輪比較。

競速模式

用同一時間預算比較各演算法最終能達到多少一致位數。

數值越小,圖表點越密;數值越大,日誌和 CSV 會更簡潔。

演算法

第一次建議四種演算法都保留,差距會最清楚。

赢家
達到的最佳位數
最快達標
參與比較的演算法
模式
目標時間
赢家估計值

競速圖表

橫軸是經過時間,縱軸是一致位數。這個圖主要用來看趨勢,不適合當作不同設備之間的絕對效能測試。

比較表

四種圓周率演算法的最終結果
演算法 估計值 絕對誤差 一致小數位 迭代次數 實際經過 ms 計算經過 ms 狀態

四種演算法與比較限制

計算會在目前瀏覽器中執行。分享網址只包含設定,不會自動執行。網站數據分析詳情請參閱私隱政策。 (私隱政策)

圖表與 CSV 會按所選間隔保留取樣點,並保證包含每種演算法的最終點。

教學提示

講義與板書準備

常見問題

固定時間的 1,000 ms 是整場競速的總時間嗎?

不是。這個預算會分別套用到每種已選演算法,而且演算法依次執行。選擇四種演算法時,1,000 ms 的設定通常代表整次執行約需 4 秒或更久。

如何判定獲勝、並列及無人達標?

固定時間會先選出一致小數位最多的演算法,再按絕對誤差判定領先;精度及比較誤差都可視為相同時判為並列。固定小數位只在達到目標的演算法中選最快者;若無人達到,就不設勝出者,只顯示最接近目標的方法。

一致的小數位數是甚麼意思?

整數部分的 3 不列入。它表示小數點後由左開始、按頁面說明的捨入規則與參考圓周率連續相同的位數,並受 JavaScript Number 精度上限限制。

絕對誤差顯示為 0,是否代表得到數學上精確的圓周率?

不是。這只表示估計值被捨入為與 Math.PI 相同的雙精度數值,並不代表它與真正的無理數圓周率之間沒有誤差。

迭代次數越少,就一定越有效率嗎?

不能直接這樣比較。Gregory 的一項、Machin 的一次更新及 Chudnovsky 的一項,計算量和增加的資訊量都不同。迭代次數主要表示各方法內部的進度。

為甚麼 Gregory 慢,而 Chudnovsky 快?

Gregory 每增加一項只改善一點;Chudnovsky 則設計成每項可增加許多正確位數。不過實際耗時仍會受實作方式及裝置效能影響。

換一部裝置或瀏覽器,獲勝者會相同嗎?

不一定。CPU、瀏覽器引擎、分頁負載、電源模式、計時精度及排程都會改變時間結果。應把它用於觀察收斂趨勢,而不是宣稱普遍最快。

停止、分享 URL 及匯出 CSV 會保存甚麼?

停止會建立一份標明未完成的完整快照。分享 URL 只保存正規化設定,不會自動執行。CSV 會包含取樣點,以及每種演算法唯一的最終列及狀態。

相關計算器