組合與排列計算器(nCr nPr)
計算機率與組合數學問題中的組合數(nCr)和排列數(nPr)
輸入項目總數(n)和要選取的項目數(r),即可計算組合數與排列數。此工具可協助解決機率問題和組合數學問題。
組合與排列計算器(nCr nPr)
計算機率與組合數學問題中的組合數(nCr)和排列數(nPr)
關於組合與排列計算器
組合和排列是組合數學中最基本的兩個概念。組合數學關注計數、安排和選取。理解兩者的差異,對解決機率論、統計學、電腦科學以及日常決策中的各類問題都很重要。
組合(記作 C(n, r) 或 nCr)用來計算從 n 個不同項目中選取 r 個項目的方式數,且選取順序不重要。公式為 C(n, r) = n! / (r! × (n − r)!),其中 n!(n 的階乘)表示從 1 到 n 的所有正整數乘積。例如,從 10 人中選 3 人組成委員會,有 C(10, 3) = 120 種可能的委員會,因為成員被選出的順序不影響結果。
排列(記作 P(n, r) 或 nPr)用來計算從 n 個不同項目中選出 r 個項目並安排順序的方式數,此時順序很重要。公式為 P(n, r) = n! / (n − r)!。同樣以 10 人為例,如果要任命主席、副主席和財務長,職位順序至關重要,因此有 P(10, 3) = 720 種安排。
關鍵差異在於順序。可以問自己:交換兩個已選項目的位置,是否會產生有意義的不同結果?如果會,就需要排列;如果不會,則適用組合。牌局中的手牌是組合(不論抽牌順序如何,A-K-Q 都是同一手牌),但 PIN 碼是排列(1-2-3-4 不同於 4-3-2-1)。
組合和排列廣泛出現在現實場景中。在機率中,它們定義樣本空間大小,用於計算特定結果發生的可能性——例如,從 49 個號碼中選 6 個贏得彩券的機率是 C(49, 6) = 13,983,816 分之一。在電腦科學中,它們用於分析演算法複雜度、產生測試案例和設計雜湊函式。在遺傳學中,它們用於模擬等位基因如何組合。在商業中,投資組合經理會用它們列舉可能的資產配置。
此計算器支援三種模式:僅組合、僅排列,或同時計算兩者。只要輸入 n(總集合大小)和 r(選取數量),選擇模式,然後點擊「計算結果」。工具會立即處理所有階乘運算,即使 n 很大、手動計算不切實際,也能快速給出結果。
範例
下表顯示典型的組合與排列問題及其解答。
| 輸入 (n, r) | 結果 | 情境 |
|---|---|---|
| n=52, r=5(組合) | C(52,5) = 2,598,960 | 從標準牌組組成 5 張撲克牌手牌 |
| n=10, r=3(排列) | P(10,3) = 720 | 10 名跑者分配第 1、2、3 名的方式 |
| n=49, r=6(組合) | C(49,6) = 13,983,816 | 彩券:從 49 個號碼中選 6 個 |
| n=8, r=3(兩者) | C(8,3)=56, P(8,3)=336 | 8 名候選人中的委員會與排名職位 |
如何使用組合與排列計算器
- 在「項目總數 (n)」欄位輸入可用項目的總數。n 必須是非負整數。
- 在「選取項目數 (r)」欄位輸入要選取的項目數量。r 必須滿足 0 ≤ r ≤ n。
- 選擇計算類型:若順序不重要,選擇「僅組合」;若順序重要,選擇「僅排列」;若想同時查看兩種結果,選擇「組合與排列」。
- 點擊「計算結果」,使用公式 C(n,r) = n!/(r!(n−r)!) 和 P(n,r) = n!/(n−r)! 立即計算答案。
- 使用表格下方的快速載入範例按鈕,預先填入真實情境並互動探索結果。
常見問題
組合和排列有什麼不同?
組合計算的是順序不重要的選取方式,而排列計算的是順序重要的安排方式。例如,為披薩選 3 種配料是組合(義式臘腸-蘑菇-橄欖與橄欖-蘑菇-義式臘腸相同),但為 3 名運動員分配金、銀、銅牌是排列(每一種不同順序都代表不同結果)。
為什麼 C(n, 0) = 1 且 P(n, 0) = 1?
依照數學慣例,從集合中什麼都不選只有一種方式——空選取;排列零個項目也只有一種方式——空排列。這與階乘定義 0! = 1 一致,並確保公式在 r = 0 時也能正確運作。
r 可以大於 n 嗎?
不可以。你不能選取或排列超過集合中可用數量的項目。如果 r > n,結果在數學上未定義(會涉及負數階乘的除法),因此計算器會顯示錯誤。點擊計算前請確認 r ≤ n。
C(n, r) 和 C(n, n−r) 有什麼關係?
C(n, r) = C(n, n−r),因為選取 r 個項目納入,等同於選取 n−r 個項目排除。例如,C(10, 3) = C(10, 7) = 120。這種對稱性稱為二項式係數的互補性質,當 r 接近 n 時可簡化計算。
此計算器如何處理大型階乘?
JavaScript 浮點數最多可精確表示約 2^53 以內的整數,而階乘成長極快(20! ≈ 2.4 × 10^18,21! 會超出 64 位元整數範圍)。計算器對組合採用迭代乘法方式以盡量減少溢位,但對於非常大的 n(約 170 以上),結果可能以科學記號表示。若需要密碼學等級的精確大整數,請使用專門的大整數函式庫。
組合和排列在現實生活中用在哪裡?
它們用於彩券機率計算、紙牌遊戲賠率、運動賽程分組分析、DNA 序列分析、密碼安全性(計算可能組合數)、排程與路徑最佳化,以及統計實驗設計。只要需要計算選取或安排項目的方式數,而不逐一列出所有可能性,組合或排列就能提供答案。