順列・組み合わせの概要・基礎知識
順列(nPr)と組み合わせ(nCr)は、高校数学の「場合の数」の中心となる概念で、確率・統計・情報理論・暗号など実務でも頻繁に登場します。本ツールでは順列、組み合わせ、階乗(n!)、重複組み合わせ(nHr)の4種類をまとめて扱えます。「順序を区別するかどうか」「同じ要素を重複して選べるかどうか」の2軸で整理すると、どの公式を使えばよいかが明確になります。本ツールはJavaScriptの倍精度浮動小数点数で計算するため、結果が約1.8×10^308を超えない範囲(n=170前後)まで安定して算出できます。
4種類の公式と違い
| 種類 | 記号 | 順序 | 重複 | 公式 |
|---|---|---|---|---|
| 順列 | nPr | 区別する | 不可 | n! / (n−r)! |
| 組み合わせ | nCr | 区別しない | 不可 | n! / (r! × (n−r)!) |
| 階乗 | n! | — | — | n × (n−1) × … × 1 |
| 重複組み合わせ | nHr | 区別しない | 可 | (n+r−1)! / (r! × (n−1)!) |
使い方の流れ
- 計算したい種類のセクション(順列・組み合わせ・階乗・重複組み合わせ)を選びます。
- n(全体の数または種類数)を入力します。最大値は170です。
- r(選ぶ数)を入力します。順列・組み合わせの場合はr ≤ nである必要があります。
- 「計算する」を押すと、結果と計算式の両方が表示されます。式を見れば手計算の検算もしやすくなります。
- 必要なら「結果をコピー」でクリップボードに転送し、レポートやノートに貼り付けます。
こんな場面で使う
- 受験勉強・数学の検算:高校数学A「場合の数と確率」、共通テスト、私立大入試の演習で式と答えを同時に確認できます。
- 確率の計算:くじ引き・トランプ・サイコロなど、分母分子の場合の数を計算するのに使えます。例えば52枚から5枚を選ぶ手は52C5=2,598,960通りです。
- パスワード強度の見積もり:使える文字種の総当たり数を試算し、何ビット相当の強度があるかを把握できます。
- リーグ戦・トーナメント設計:n人の総当たりの試合数はnC2、n人のトーナメントの試合数はn−1試合という基本式を素早く検算できます。
- 抽選・サンプリング設計:マーケティング調査や品質管理で、何通りの選び方があるかを把握する際に役立ちます。
使う前に知っておきたい注意点
- nが170を超える計算はJavaScriptの最大値(Number.MAX_VALUE ≈ 1.8×10^308)を超え、Infinityとして扱われます。それ以上の精度が必要な場合はPythonやWolframAlphaなどBigInt対応の環境を使ってください。
- nやrに小数を入れた場合は整数にまるめて扱われます。意図せず小数を入れていないかご確認ください。
- 順列か組み合わせか迷ったら「並び順を変えたものを別物として数えるか」を基準にしてください。ABCとBACを別と数えるなら順列、同じなら組み合わせです。
- nCrとnPrは r=0 のとき1、r=nのときも順列・組み合わせの定義から1またはn!となります。境界値の挙動に注意してください。
用語の補足
- パスカルの三角形:nCrを並べた三角形の図。各数字は左上と右上の和になっており、組み合わせの計算と密接に結びついています。
- 二項定理:(a+b)^nの展開係数がnCrと一致するという定理。組み合わせの応用例として頻出します。
- 順列の特殊形:円順列(n−1)!、じゅず順列(n−1)!/2、同じものを含む順列(多項係数)など、用途別に派生公式があります。