01 什麼是階乘(n!)? 階乘是從 1 到 n 所有正整數的乘積,定義為 n! = 1 × 2 × 3 × ⋯ × n。例如,5! = 1×2×3×4×5 = 120。按照慣例,0! = 1。階乘在組合學(排列與組合)、機率論與冪級數展開中都是基礎工具。
02 為什麼用 BigInt 來計算? JavaScript 的一般 Number 型別在超過 2⁵³-1(約 9×10¹⁵)時會失去精度。但隨著 n 增大,n! 很快就會超過該值——18! 已約為 6.4×10¹⁵。此計算器使用 JavaScript 的 BigInt 型別進行乘法,即使 n 很大,也能顯示精確整數結果且不產生四捨五入誤差。
03 參考值與輸入上限 5! = 120, 10! = 3,628,800, 15! = 1,307,674,368,000, 20! = 2,432,902,008,176,640,000. 位數會隨 n 增加而極快增長(100! 有 158 位,1000! 有 2,568 位),因此結果會變得非常長——輸入上限設為 n ≤ 5000 以維持合理的伺服器/瀏覽器負載。