- 已知目標長度時,直接用固定位數模式;想用固定時間做一次受限運算時,用時間挑戰。
- 先試一個較小預設,確認顯示模式、複製流程和 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。
時間挑戰模式是甚麼?
程式會按位數由小至大嘗試檢查點,並保留限制時間內完整完成而且位數最多的結果。超過截止時間才完成的結果不會採用。
按下停止會發生甚麼?
在位數模式中,現正進行的計算會取消,不會顯示未完成結果;在時間挑戰中,現正進行的計算會取消,並保留之前最後一個已完成的檢查點結果(如有)。