- 已知目標長度時,直接用固定位數模式;想用固定時間做一次受限執行時,用時間挑戰。
- 先試一個較小預設,確認顯示模式、複製流程和 TXT 儲存是否符合你的使用方式。
- 如果接下來要查找某個數字串、跳到某個位置或只複製局部範圍,再進入 Pi 數字實驗室。
課堂範例:先用較短的位數確認流程,再切換到講義長度或短時間挑戰。
這裡統計的是小數點後的位數。輸出始終以 3. 開頭。
此模式會保留在所選時間內完整完成且位數最多的檢查點結果。
自動模式會在 5,000 位以內顯示全文,超過後自動切換為首尾預覽。
小數點後的位數
輸出
尚未產生輸出。
工作方式
計算器使用 Chudnovsky 級數 1/π = 12 Σ(k=0…∞) (-1)^k (6k)! (13591409 + 545140134k) / ((3k)! (k!)^3 640320^(3k+3/2))。它用 binary splitting(將級數遞迴分成兩部分計算),搭配 JavaScript BigInt 整數運算和整數平方根進行高精度計算。程式會比目標多算 18 位保護位,再直接截取而不四捨五入;它並不是從預存的圓周率位數表讀取答案。
通常同一套計算核心會在 Web Worker 中執行,以維持頁面回應;如果環境不支援 Worker,則改在主執行緒執行。時間挑戰只接受在限制時間內完整完成的檢查點。
課堂準備工具
把圓周率結果整理成課堂講義、方格紙練習或比較圖表。
常見問題
這個程式用什麼公式計算圓周率?
它使用 Chudnovsky 級數,透過 binary splitting 將級數遞迴分成兩部分計算,再使用 BigInt 整數運算和整數平方根求值。程式會多算 18 位保護位後截取到目標長度,並不是從預存的位數表讀取答案。
這個頁面能精確表示圓周率本身嗎?
不能。圓周率的小數位數無限,因此有限字串不能精確表示圓周率本身。本頁面進行高精度計算,傳回指定小數位數的十進位前綴。
這裡的前 n 位是什麼意思?
輸入框統計的是小數點後的位數。輸入 100 時,結果就是 3. 後面接 100 位數字。
為什麼超過 5,000 位後會切成首尾預覽?
直接渲染超長文字對大多數會話都沒有必要,因此預設只顯示開頭和結尾,同時保留完整文字用於複製和 TXT 儲存。
時間挑戰模式是什麼?
程式會依位數由小到大嘗試檢查點,並保留限制時間內完整完成且位數最多的結果。超過截止時間才完成的結果不會採用。
按下停止會發生什麼?
在位數模式中,目前的計算會取消,不顯示未完成結果;在時間挑戰中,目前的計算會取消,並保留先前最後一個已完成的檢查點結果(如果有)。