順列・組み合わせ 計算|nPr・nCr・nHr・階乗を一括算出、二項係数表とロト当選確率対応
n個からr個を選ぶ順列(nPr)・組み合わせ(nCr)・重複組み合わせ(nHr)・階乗(n!)を瞬時計算。二項係数(パスカルの三角形)、ロト6・ロト7・ミニロト・ナンバーズの当選確率、宝くじの組合せ数、麻雀の手牌組合せ、トーナメント表の対戦カード数、AB実験のサンプル抽出パターンまで一発算出。高校数学A「場合の数と確率」から、大学統計学の二項分布・ポアソン分布・多項分布、機械学習の特徴量選択(探索空間評価)、暗号理論の鍵空間サイズ計算までカバーする無料ツールです。学習指導要領(数学A)・共通テスト対応。
順列・組み合わせ 計算ツール
公式集(nPr・nCr・nHr・n!)
基本公式
階乗 n! = n × (n−1) × (n−2) × … × 2 × 1(0! = 1 と定義)
順列 nPr = n! ÷ (n−r)! = n × (n−1) × … × (n−r+1)
組み合わせ nCr = n! ÷ (r! × (n−r)!) = nPr ÷ r!
重複組み合わせ nHr = (n+r−1) C r
重複順列 n^r(n通りをr回繰り返す)
公式の相互関係と対称性
| 公式名 | 式 | 意味 | 典型例 |
|---|---|---|---|
| 階乗 | n! | n個を1列に並べる方法 | 10人を並べる:10! = 3,628,800 |
| 順列 nPr | n!/(n−r)! | 順序を区別してr個選ぶ | 10人から3人選び順位:720 |
| 組み合わせ nCr | n!/(r!(n−r)!) | 順序無視でr個選ぶ | 10人から3人選ぶ:120 |
| 対称性 | nCr = nC(n−r) | 選ぶ側と残す側は同数 | 10C3 = 10C7 = 120 |
| パスカル漸化式 | nCr = (n−1)C(r−1) + (n−1)Cr | 三角形の1行下は上2つの和 | 5C2 = 4C1 + 4C2 = 4 + 6 = 10 |
| 行の合計 | Σr=0..n nCr = 2^n | 部分集合の総数 | n=10 で 1024通り |
| 重複組み合わせ | nHr = (n+r−1)Cr | 同じものを含んで選ぶ | 3種類のケーキから5個買う:7C5=21 |
| 重複順列 | n^r | 重複を許して並べる | 4桁の暗証番号:10^4 = 10,000 |
順列と組み合わせの違い
順序を区別するか否かが最大の違いです。「ABC」と「ACB」を別と数えるのが順列、同じと数えるのが組み合わせ。実務では次のように使い分けます。
| 比較項目 | 順列 Permutation | 組み合わせ Combination |
|---|---|---|
| 記号 | nPr, P(n,r), nPr | nCr, C(n,r), nCr, (n r) |
| 順序 | 区別する | 区別しない |
| 公式 | n! / (n−r)! | n! / (r!(n−r)!) |
| 関係 | nPr = nCr × r! | nCr = nPr / r! |
| 典型例 | 1〜3位を決める、席順、暗証番号 | グループ分け、代表選出、宝くじ番号 |
| 3人から2人選ぶ | 3P2 = 6通り(AB, BA, AC, CA, BC, CB) | 3C2 = 3通り(AB, AC, BC) |
| Excel関数 | PERMUT(n,r) | COMBIN(n,r) |
「順序が意味を持つか?」で判定します。1位・2位・3位は順序が意味を持つので順列、代表3人は誰が選ばれるかだけで順序無関係のため組み合わせ。共通テスト・大学入試の場合の数分野では、この判定を1問目で問うケースが頻出です。
二項係数表とパスカルの三角形(n=0〜10)
二項係数 nCr の表。パスカルの三角形として1行下は上2つの和で機械的に構成できます。二項定理 (a+b)^n = Σ nCr × a^(n−r) × b^r の係数として現れます。
| n \\ r | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 行合計 2^n |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | ||||||||||
| 1 | 1 | 1 | 2 | |||||||||
| 2 | 1 | 2 | 1 | 4 | ||||||||
| 3 | 1 | 3 | 3 | 1 | 8 | |||||||
| 4 | 1 | 4 | 6 | 4 | 1 | 16 | ||||||
| 5 | 1 | 5 | 10 | 10 | 5 | 1 | 32 | |||||
| 6 | 1 | 6 | 15 | 20 | 15 | 6 | 1 | 64 | ||||
| 7 | 1 | 7 | 21 | 35 | 35 | 21 | 7 | 1 | 128 | |||
| 8 | 1 | 8 | 28 | 56 | 70 | 56 | 28 | 8 | 1 | 256 | ||
| 9 | 1 | 9 | 36 | 84 | 126 | 126 | 84 | 36 | 9 | 1 | 512 | |
| 10 | 1 | 10 | 45 | 120 | 210 | 252 | 210 | 120 | 45 | 10 | 1 | 1024 |
OEIS(オンライン整数列大辞典)ではA007318として登録されている、数学史上もっとも研究された数列の一つです。中央二項係数(中央の値)2nCn は組合せ論・確率論で頻出します。
パスカルの三角形の性質
主要な性質7選
| 性質 | 数式 | 意味 |
|---|---|---|
| 対称性 | nCr = nC(n−r) | 三角形は左右対称 |
| 行の合計 | Σ nCr = 2^n | n要素集合の部分集合の総数 |
| パスカル漸化式 | nCr = (n−1)C(r−1) + (n−1)Cr | 1つ上の2つの和 |
| 斜めの和 | フィボナッチ数列 | 浅い対角線の和が1,1,2,3,5,8... |
| 交代和 | Σ (−1)^r nCr = 0 | n≥1で符号交互に足すと0 |
| ヴァンデルモンドの畳込み | Σ mCk × nC(r−k) = (m+n)Cr | 2つの集合から合計r個選ぶ |
| ホッケースティック | Σ iCr = (n+1)C(r+1) | 斜め方向の和 |
これらの性質は組合せ論、確率論、数論、暗号理論に応用されます。特に ヴァンデルモンドの畳込み は超幾何分布の期待値計算、ホッケースティック は分割数の計算に頻用されます。
ロト・宝くじ・ギャンブルの当選確率一覧
実世界で頻繁に参照される組み合わせ確率をまとめました。1等的中の期待値と比較すれば、購入判断の参考になります。
| くじ | 組合せ計算 | 総組合せ数 | 1等的中確率 |
|---|---|---|---|
| ミニロト | 31C5 | 169,911 | 約 1 / 17万 |
| ロト6 | 43C6 | 6,096,454 | 約 1 / 610万 |
| ロト7 | 37C7 | 10,295,472 | 約 1 / 1,030万 |
| ナンバーズ3(ストレート) | 10^3 | 1,000 | 1 / 1,000 |
| ナンバーズ4(ストレート) | 10^4 | 10,000 | 1 / 10,000 |
| 年末ジャンボ1等(20桁組) | — | 20,000,000 | 1 / 2,000万(発売数依存) |
| Toto BIG(14試合3択) | 3^14 | 4,782,969 | 約 1 / 480万 |
| 麻雀 天和(親配牌で完成) | — | — | 約 1 / 33万 |
| ポーカー ロイヤルストレートフラッシュ | — | — | 1 / 649,740 |
ロト6の1口200円 × 610万通り = 12.2億円の期待コスト。1等賞金は最高6億円のため、期待値としては大きくマイナスです。宝くじの収益は自治体・公共事業に配分される仕組みで、みずほ銀行が受託販売しています(詳細は宝くじ公式サイト)。
重複順列・重複組み合わせ(nHr)の使い分け
同じものを複数回選べる場合、n^r(順序あり)と nHr(順序なし)を使い分けます。
| ケース | 順序 | 重複 | 公式 | 例(n=3, r=2) |
|---|---|---|---|---|
| 普通の順列 | あり | なし | nPr | 3P2 = 6:AB,BA,AC,CA,BC,CB |
| 普通の組み合わせ | なし | なし | nCr | 3C2 = 3:AB,AC,BC |
| 重複順列 | あり | あり | n^r | 3^2 = 9:AA,AB,AC,BA,BB,BC,CA,CB,CC |
| 重複組み合わせ | なし | あり | nHr = (n+r−1)Cr | 3H2 = 4C2 = 6:AA,AB,AC,BB,BC,CC |
重複組み合わせは「3種類のケーキから5個買う」「玉6個を3人に配る」等で登場。仕切り棒法(ステファニアン記号)で n+r−1 個の物と n−1 個の仕切りの並べ替えとして理解できます。
実務・学習での活用シーン
宝くじ・ギャンブルの当選確率検討
ロト6・ロト7・ミニロト・BIG・totoの1等確率を把握し、購入枚数vs期待値を客観判断。宝くじ公式サイトの当選確率一覧と一致します。ギャンブラーの誤謬(過去結果は次回に影響しない)を数値で理解できます。
AB実験・調査サンプル設計
N人の会員から100人を抜き出す組合せ数、A・B群への割付方法数を計算し、実験計画法(DoE)で用いる。多元配置分散分析、ラテン方格、直交配列の設計に必須です。
トーナメント・リーグ戦の対戦カード
N人・Nチームでのリーグ総対戦数 = NC2、シード決めの組合せ、KO方式のブラケット数を計算。日本高校野球選手権(49校)なら49C2 = 1,176パターンからマッチアップを絞り込みます。
機械学習・特徴量選択
P個の特徴量からK個を選ぶ探索空間サイズ = PCK。P=30, K=5なら142,506通りで全探索可能、K=10なら30,045,015通りで局所探索が必要。過学習リスク評価にも使用します。
暗号・パスワード鍵空間
数字4桁の暗証番号は10^4 = 10,000通り、英数字8桁パスワードは62^8 = 218兆通り。NIST SP 800-63のパスワード強度基準(エントロピー計算)の基礎になります。
麻雀・トランプ・カードゲーム
麻雀136牌から13牌配る組合せ 136C13 ≒ 3.0×10^15、トランプ52枚から5枚配るポーカー役 52C5 = 2,598,960 通り。役の出現確率算出に必須です。
高校数学A・共通テスト対策
「場合の数と確率」は高校数学Aの主要分野で、大学入学共通テスト(旧センター試験)でも第3問前後で毎年出題されます。
出題頻度と典型パターン
| 単元 | 出題頻度 | 典型問題 |
|---|---|---|
| 和の法則・積の法則 | ★★★ | ルート数え、樹形図の総数 |
| 順列 nPr | ★★★ | 席順、旗の色順、暗号 |
| 円順列・数珠順列 | ★★ | (n−1)!、(n−1)!/2 |
| 組み合わせ nCr | ★★★ | 代表選出、グループ分け |
| 重複順列 n^r | ★★ | 暗証番号、n進法数え上げ |
| 重複組み合わせ nHr | ★★ | 玉配り、ケーキ選び |
| 二項定理 | ★★ | 係数抽出、パスカル三角形 |
| 条件付き確率 | ★★★ | ベイズの定理、モンティ・ホール問題 |
文部科学省「高等学校学習指導要領(平成30年告示)」数学A に基づく単元構成です。共通テストでは樹形図で数え上げてから公式検証する解法が推奨されており、大学入試センター(現:大学入試センター試験問題実施本部)の過去問分析でも同傾向。
よくある間違い・注意点
- 順列と組み合わせの取り違え — 「代表3人を選ぶ」は組合せ、「1位・2位・3位を決める」は順列。日本語の「選ぶ」は両方で使われるため、順序が意味を持つかを問題文から必ず判定してください。共通テストで最も配点損失が多い誤答です。
- 0! = 1 の忘却 — 0の階乗は1と定義されます。組合せ式 nCr = n!/(r!(n−r)!) の整合性のため(nCn = n!/(n!×0!) = 1)。「0通り」ではなく「1通り」なので注意。
- 170超で計算不能 — 171! 以上は JavaScript の Number 型(IEEE 754 倍精度浮動小数点)の最大値 1.79×10^308 を超えるためオーバーフロー。BigInt を使えば計算可能ですが、本ツールは 170 まで対応です。
- 重複順列と重複組み合わせの混同 — 「3種類から5個買う」で「並べる順序を区別」するなら n^r、区別しないなら nHr。個数の選び方だけを問われるならほぼ nHr です。
- 円順列を n! で計算 — n人が円卓に座る方法は n! ではなく (n−1)! です。回転で同じ配置になるものは1通りと数えるため。数珠順列(回転+裏返し)はさらに (n−1)!/2 です。
- ロト当選確率の期待値と実際 — 「610万分の1」は数学的期待値であり、1000万口買っても必ず当たる保証はありません。独立試行の性質を理解する必要があります(連続当選も原理的には可能)。
- Excel関数の桁あふれ — COMBIN(1030,10) 等の大きな nCr は Excel 標準関数で #NUM! エラー。COMBINA(重複組合せ)と混同しないよう注意。169! 程度なら SciPy や Mathematica を利用してください。
関連する学習指導要領・出題基準
- 高等学校学習指導要領(数学A) ― 文部科学省が定める高校数学Aの単元「場合の数と確率」の学習範囲。順列・組合せ・二項定理・条件付き確率までを含む。
- 大学入学共通テスト 数学I・A 出題範囲 ― 大学入試センター告示の出題範囲。数学Aは「図形の性質」「場合の数と確率」「整数の性質」から選択問題として出題。
- 日本数学検定協会 実用数学技能検定(数検) ― 数検2級(高2程度)で組合せ・順列の応用問題、準1級(高3程度)で二項定理・多項定理を出題。
- 日本情報オリンピック(JOI) ― 予選・本選で二項係数・組合せ論の応用アルゴリズム(動的計画法・数え上げ)を出題。
- ISO/IEC 27002(情報セキュリティ管理策) ― パスワード強度の要件で組合せ数(鍵空間サイズ)を規定。NIST SP 800-63と対応。
参考文献・公的資料
組合せ論・確率論の一次資料および学習指導関連の公的機関リンクです。
- 文部科学省 高等学校学習指導要領(数学) ― 数学Aの単元構成、学習範囲、到達目標。順列・組み合わせは「場合の数と確率」に位置付け。
- 日本数学会 ― 数学者の学会。数学教育・研究会誌「数学」「数学通信」を刊行。組合せ論の研究情報。
- 大学入試センター ― 共通テストの出題基準・過去問題(数学I・A)。順列・組み合わせの標準的な出題傾向を確認可能。
- OEIS A007318(パスカルの三角形) ― オンライン整数列大辞典。二項係数の完全リスト、関連公式、研究論文リンクを提供。
- Wolfram MathWorld: Binomial Coefficient ― 二項係数に関する国際標準リファレンス。恒等式・漸化式・応用を網羅。
- American Mathematical Society (AMS) ― 米国数学会。組合せ論の国際論文誌 Journal of Combinatorial Theory 等を刊行。
- 情報処理推進機構(IPA)パスワード強度と組合せ数 ― パスワード鍵空間サイズと安全性の関係を解説。
- NIST SP 800-63B デジタルアイデンティティガイドライン ― パスワードエントロピー計算の国際基準。組合せ数がベース。
- 日本情報オリンピック(JOI) ― 二項係数・数え上げ問題の応用アルゴリズム出題。過去問公開中。
- 日本数学検定協会 ― 数検の出題範囲・過去問。組合せ・順列は3級以上で頻出。
よくある質問(FAQ)
順列と組み合わせの違いは?
順列は順序を区別、組み合わせは順序を無視します。例:ABC・ACB・BACは順列では別の並べ方(3通り)、組み合わせでは同じ選び方(1通り)。「1位・2位・3位を決める」は順列、「代表3人を選ぶ」は組み合わせ。日本語の「選ぶ」は両方で使うため、順序に意味があるかを問題文から判定してください。
0! はなぜ1?
数学的な整合性のためです。組合せ式 nCr = n!/(r!(n−r)!) において nCn = n!/(n!×0!) = 1 が成立するには、0! = 1 と定義する必要があります。感覚的には「0個の並べ方は『何もしない』の1通り」とも解釈できます。空集合の順列も1通り(空順列)と数えます。
ロト6の当選確率は?
1 ÷ 43C6 = 1 ÷ 6,096,454 = 約0.0000164%(約610万分の1)。1口200円で全通り購入すると約12.2億円必要ですが、1等賞金は最高6億円のため期待値マイナスです。ロト7は37C7 = 10,295,472通りでさらに難易度が高いです。詳細は宝くじ公式サイト。
nが170超で計算できないのは?
171! 以上は JavaScript の Number 型(IEEE 754 倍精度浮動小数点)の最大値 1.79×10^308 を超えてオーバーフローするためです。BigInt型を使えば理論上は無限桁の計算が可能ですが、本ツールは実用範囲として170までを上限としています。より大きな値は Python の math.factorial や SageMath 等の多倍長演算ライブラリをご利用ください。
nCrとパスカルの三角形の関係は?
パスカルの三角形のn行目r列目の値がまさに nCr です。1行下は上2つの和(nCr = (n−1)C(r−1) + (n−1)Cr)で、機械的に構築できます。行の合計は 2^n(部分集合の総数)、左右対称 nCr = nC(n−r)、斜めの浅い和がフィボナッチ数列など、多くの性質を持ちます。詳細はOEIS A007318を参照。
重複組み合わせ nHr は何に使う?
「同じものを含んで選ぶ」場合の数え上げに使います。例:3種類のケーキから5個買う組合せ = 3H5 = 7C5 = 21通り。仕切り棒法(○5個と仕切り2本の並べ方)で理解可能。数え上げの練習問題、経済学の需要弾力性、化学の分子異性体の数え上げにも登場します。
円順列・数珠順列の公式は?
n人が円卓に座る円順列は (n−1)!、ネックレスのように裏返しも同一視する数珠順列は (n−1)!/2(n≥3の場合)。回転で同じ配置になるものを1通りと数えるため、通常の n! を n で割る形式になります。5人の円順列は 4! = 24通り。
Excelで組合せ計算するには?
順列は =PERMUT(n,r)、組合せは =COMBIN(n,r)、重複組合せは =COMBINA(n,r)、階乗は =FACT(n) を使います。ただし n=170 程度が Excel の限界で、それ以上は #NUM! エラー。Google Sheets も同様の仕様で、大きい値は Python や SageMath 等を推奨します。
二項定理と組合せの関係は?
二項定理 (a+b)^n = Σ nCr × a^(n−r) × b^r において、係数として nCr が出現します。例えば (a+b)^5 = a^5 + 5a^4b + 10a^3b^2 + 10a^2b^3 + 5ab^4 + b^5 の係数「1,5,10,10,5,1」はパスカルの三角形の5行目そのもの。多項定理では多項係数(多重階乗の比)に一般化されます。
共通テストで組合せ問題を解くコツは?
1) 順序に意味があるか判定(順列 or 組合せ)、2) 樹形図で小さいケースを確認、3) 公式に代入して検証、4) 「少なくとも」型は余事象を利用(全体 − 起きない場合)。大学入試センターの過去問分析では、条件分岐(場合分け)を伴う問題が過半数のため、場合分けの見落としが最大の失点原因です。
組合せ数がプログラミングで使われる例は?
動的計画法(DP)による問題数え上げ、機械学習の特徴量選択(探索空間評価)、暗号鍵空間サイズ計算、グラフの部分グラフ列挙、AtCoder・Codeforces競技プログラミングの mod 素数下での nCr 計算(フェルマーの小定理、Lucasの定理)等。日本情報オリンピック(JOI)本選でも二項係数の応用問題が頻出です。
順列・組み合わせを速く計算するには?
本ツールでは r と (n−r) の小さい方を採用する対称性 nCr = nC(n−r) を利用して、乗算回数を最小化しています。競技プログラミングでは前計算(階乗と逆元テーブル)で O(1) 計算、大きい mod 素数では拡張ユークリッド互除法による逆元算出が定石です。Pythonなら math.comb(n, r) が最速です。