什麼是組合?
組合用來計算從一個較大的集合中挑選出一組項目的方法數,且不考慮選取的先後順序。先選蘋果、香蕉、櫻桃,跟先選櫻桃、蘋果、香蕉,算是同一種組合。這個概念通常寫成 \(C(n, r)\)、「n 取 r」,或稱為二項式係數。本計算機適用於任何正整數,是純數學運算,不涉及任何國家或地區的特殊規則,全球通用。
計算機使用方式
在 n 欄位輸入可供挑選的項目總數,在 r 欄位輸入你想選出的數量。工具會回傳不重複的組合數,並額外提供考慮順序時的排列數 \(P(n, r)\)。若 \(r\) 大於 \(n\),結果會是 0,因為你無法選出比現有數量還多的項目。
公式詳解
組合公式為 $$C(n, r) = \frac{n!}{r!\,(n - r)!}$$其中「!」代表階乘。分子 \(n!\) 計算整個集合所有的排列方式;除以 \((n - r)!\) 可去掉沒被選到的項目;再除以 \(r!\) 則去掉已選項目之間重複的排列順序——最後只剩下不重複的組合。為了避免階乘數值過於龐大,本計算機採用逐項相乘的方式計算,以維持數值穩定。
實例演算
從一副 52 張的撲克牌中,能組成幾種 5 張的牌組?此時 \(n = 52\)、\(r = 5\)。$$C(52, 5) = \frac{52!}{5!\,\cdot\,47!} = \frac{52\cdot51\cdot50\cdot49\cdot48}{5\cdot4\cdot3\cdot2\cdot1} = \frac{311{,}875{,}200}{120} = 2{,}598{,}960$$種可能的牌組。
常見問題
組合與排列有什麼不同?排列會計算有順序之分的排列方式,組合則不考慮順序。排列數一定大於或等於組合數。
\(C(n, 0)\) 等於多少?等於 1——因為「什麼都不選」恰好只有一種方式,也就是空集合。
為什麼 \(C(n, r) = C(n, n - r)\)?選擇要納入哪 \(r\) 個項目,等同於選擇要剔除哪 \(n - r\) 個項目,因此兩者的數量完全相同。