順列・組み合わせ計算
52枚のトランプから5枚を選ぶ組み合わせは2,598,960通り(52C5)です。10個から5個を選んで並べる順列は30,240通り(10P5)です。
使い方
- 全体の個数nと、選ぶ個数rを入力します。
- 大きく表示されるのは順番を区別しない組み合わせC(n, r)です。その下に順番を区別する順列P(n, r)が出ます。
- 桁数が多い結果は指数表記と桁数で表示します。「結果をコピー」で正確な数をすべてコピーできます。
計算方法
順列: P(n, r) = n! ÷ (n − r)! = n × (n − 1) × ... × (n − r + 1)。選んだものの順番が意味を持つときに使います。
組み合わせ: C(n, r) = n! ÷ (r! × (n − r)!) = P(n, r) ÷ r!。順番を区別しないときに使います。
重複を許す場合、重複順列はn^r、重複組み合わせはC(n + r − 1, r)です。教科書では重複組み合わせをnHrと書きます。
浮動小数点ではなく整数で正確に計算するため、1000!も丸めずに最後まで求めます。nとrは0 ≤ r ≤ n ≤ 1000の整数です。
順列か組み合わせか
| 問題 | 順番は関係あるか | 計算 |
|---|---|---|
| 10人から会長・副会長・会計を選ぶ方法 | ある | P(10, 3) = 720 |
| 10人から委員を3人選ぶ方法 | ない | C(10, 3) = 120 |
| 1〜43から6個の数字を選ぶ組み合わせ | ない | C(43, 6) = 6,096,454 |
| 52枚から5枚を配るポーカーの手札 | ない | C(52, 5) = 2,598,960 |
よくある質問
順列と組み合わせの違いは?
順列は並べ方の数なので、ABCとCBAを別々に数えます。組み合わせは選び方の数なので、この2つは同じ組として扱います。
なぜ0!は1なのですか?
何もないものを並べる方法はちょうど1通りだからです。こう決めておくとC(n, 0) = 1やC(n, n) = 1などの式もそろいます。
rがnより大きいとなぜ計算できないのですか?
持っている数より多くの異なるものは選べないので、PもCも定義されません。重複を許せばこの制限はありませんが、このツールは4つの結果すべてでr ≤ nとしています。
どのくらい大きな数まで扱えますか?
nは1000までで、結果は数千桁になることもあります。画面では指数表記になり、「結果をコピー」でC(n, r)の数をすべてコピーできます。