階乘 · 排列 · 組合計算器 (n! · nPr · nCr)
輸入 n 和 k。返回 n!、P(n,k) (有序選擇)、C(n,k) (無序選擇)。對機率、統計、組合學作業有用。
運作原理
階乘
n! (讀「n 的階乘」) 是從 1 到 n 所有正整數的乘積。所以 5! = 1×2×3×4×5 = 120。按慣例, 0! = 1 (空積)。
階乘極快增長。10! = 360 萬, 20! = 2.4×10¹⁸, 100! 有 158 位。浮點在 21! 崩潰 (雙精度限制); 我們用 BigInt 準確支援到 n=5000。
排列 vs 組合
排列 P(n,k) = n! / (n−k)!: 從 n 中有序選 k 個的方法數。P(5,2) = 20: 第一名從 5 選, 第二名從剩 4 選 = 5×4 = 20。
組合 C(n,k) = n! / (k!(n−k)!): 無序選擇數。C(5,2) = 10: 同樣選擇但 {第一, 第二} = {第二, 第一} 所以除以 2!。著名的「n 選 k」。
順序重要時用排列 (賽跑領獎臺、密碼順序)。僅選擇集合重要時用組合 (彩票號碼、委員會選舉)。C(n,k) ≤ P(n,k) 總成立; k=1 時相等。
應用場合
機率: 骰子、卡牌、拋硬幣。P(5 次中 3 次正面) = C(5,3) × (1/2)⁵ = 10/32。組合讓你數有利結果。
統計: 二項分佈用 C(n,k)。無放回抽樣用組合。
電腦科學: 計數子集、複雜度分析 (如 k-團列舉是 C(n,k))、圖演算法。
現實世界: 彩票賠率 (美國 Powerball: C(69,5) × 26 ≈ 2.92 億組合)。餐廳選單組合: 「從 8 個配菜選 3 個」是 C(8,3) = 56 種。
常見問題
›為什麼 0! = 1?
按慣例,「空積」是 1 (類似空和是 0)。它也讓 C(n,0) = 1 (選無的方法是 1) 等公式一致工作。
›可以計算的最大階乘?
n=5000 給 16,326 位數。我們限制 5000 以防巨大輸入凍結瀏覽器。更大用 CAS。
›排列和組合的區別?
排列中順序重要, 組合中不重要。{A,B} 與 {B,A} 是同組合但兩個不同排列: AB 和 BA。
›負數的階乘有定義?
在標準意義上沒有。Gamma 函式 Γ(x) 把階乘擴充套件到所有實數 (和複數), 但我們的計算器只處理非負整數。
›組合公式?
C(n,k) = n! / (k! × (n-k)!)。讀「n choose k」。等價: P(n,k) / k! 因為順序無關。
›本工具有多準?
範圍內所有值都精確。我們用 BigInt 算術, 無浮點誤差。
›為什麼 70! 比 60! 大那麼多?
每個階乘乘下一個整數。70! 大致是 60! × 61 × 62 × … × 70 ≈ 60! × 1.4 × 10¹⁷。階乘比指數增長更快 — 由 Stirling 近似大致是 n^n × e^-n × √(2πn)。
›資料會上傳嗎?
不會。計算在本地; 不向伺服器傳送。
相關工具
最後更新: