順列・組合せとは(全体像)
順列・組合せは、「全部で何通りあるか(場合の数)」を数える計算のこと。プログラムのパターン数や確率の計算で土台になる。
ポイントは、順序を区別するかどうかでどちらを使うかが決まること。
- 順列 … 並ぶ順番も区別する。「123」と「321」は別物として数える。
- 組合せ … 選ぶだけで順番は区別しない。「AとB」と「BとA」は同じものとして数える。
つまり、問題文に「並べる・順番に」とあれば順列、「選ぶ・組にする」だけなら組合せ、と見分けるのが第一歩だ。
詳しく:この公式と使い分けだけ覚えれば戦える
ここが記事の心臓部。まずは2つの公式と具体例。
順列と組合せ
| 順列 nPr | 組合せ nCr | |
|---|---|---|
| 意味 | 並べ方の数(順序を区別) | 選び方の数(順序は区別しない) |
| 公式 | n! ÷ (n−r)! | n! ÷ { r! ×(n−r)! } |
| 例(5から3) | 5P3 = 5×4×3 = 60通り | 5C3 = 10通り |
`n!`(nの階乗)は「nから1までを全部かけた数」のこと(例:5! = 5×4×3×2×1)。
同じ「5から3つ」でも、並べると60通り、選ぶだけなら10通り。順列のほうが「並べる順番」のぶんだけ数が多くなる。じつはnPr = r! ×nCrの関係があり、組合せに「並べ替えの数(r!)」をかけると順列になる。だから順列と組合せは別の値で、混同してはいけない。
次に、同じものを何度も選べる「重複あり」のパターン。
重複ありのパターン
| 計算 | 例 | |
|---|---|---|
| 重複順列 | n^r | 4けたの暗証番号 = 10⁴ = 10000通り |
| 重複組合せ | (n+r−1)Cr | 3種類から重複ありで2個選ぶ |
暗証番号のように同じ数字を何度でも使えて、並ぶ順番も区別するのが重複順列(n^r)だ。
さらに、順列・組合せは二項定理((a+b)ⁿの展開)やパスカルの三角形ともつながっていて、展開したときの各項の係数がnCrになる。
わかりやすく言い換えると
要するに、「並べるか・選ぶだけか」で順列か組合せかが決まる。
①順列 … リレーの「走る順番」を決める(1走→2走→3走、順番が命)
②組合せ … チームの「メンバーを選ぶ」だけ(だれとだれ、順番は関係ない)
重複ありのイメージは「くじを引いて毎回もどす」感じ。暗証番号は同じ数字を何度でも使えるから、4けたなら10×10×10×10で10000通り、というわけだ。
試験のツボ
🔴 一番出る:順列と組合せの使い分け
①並べる(順番を区別)=順列 nPr
②選ぶだけ(順番は区別しない)=組合せ nCr
🔴 次に出る:公式と関係
①nPr = n!÷(n−r)!/nCr = n!÷{r!×(n−r)!}
②nPr = r!×nCr(順列は組合せの r! 倍)
🟡 押さえると安定:重複ありのパターン
①重複順列 = n^r(暗証番号など)
②重複組合せ = (n+r−1)Cr
よくある間違い
①「nPrとnCrは同じ値になる」→ ✗ 順序を区別するかで変わる。nPr = r!×nCr で、順列のほうが多い。
②「メンバーを選ぶだけの問題は順列で計算する」→ ✗ 順番を区別しないので組合せ(nCr)を使う。
③「4けたの暗証番号の総数は順列(nPr)で求める」→ ✗ 同じ数字を何度も使えるので重複順列(n^r = 10⁴)。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(使い分け)
5人から3人を選ぶときの場合の数に関する次の記述のうち、正しいものはどれか。
- 選ぶだけでも並べても結果は同じなので、どちらで計算しても60通りになる
- 5人から3人を選んで一列に並べる場合は、順番を区別しないので10通りである
- 5人から3人を選ぶだけ(順番なし)でも、順列で計算するため60通りになる
- 選んで並べるなら順列で60通り、選ぶだけなら組合せで10通りと使い分ける
解答は 4 だぜ。
「選んで並べる→順列(5P3=60)」「選ぶだけ→組合せ(5C3=10)」と使い分ける。順番を区別するかどうかで値が変わるんだ。
選択肢1は「どちらでも同じ」が誤り。選択肢2は並べるのに「順番を区別しない」としていて逆。選択肢3は選ぶだけなのに順列を使う誤りだぜ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 並べる60と選ぶだけ10で異なる |
| 2 | ✗ | 並べるなら順番を区別する |
| 3 | ✗ | 選ぶだけは組合せで10通り |
| 4 | ✓ | 並べる→順列、選ぶだけ→組合せで正しい |
オリジナル問題2(公式の関係)
順列nPrと組合せnCrの関係に関する次の記述のうち、正しいものはどれか。
- nPrとnCrはまったく同じ計算式であり、つねに等しい値になる関係にある
- nPrはnCrにr!(rの階乗)をかけた値で、順列のほうが必ず大きくなる
- nCrはnPrにr!(rの階乗)をかけた値で、組合せのほうが必ず大きくなる
- nPrとnCrの間には関係がなく、それぞれ独立に求めるしかないものである
解答は 2 だぜ。
nPr = r!×nCrの関係がある。組合せ(選ぶだけ)に「並べ替えの数 r!」をかけると順列になるから、順列のほうが必ず大きいんだ。
選択肢1は「つねに等しい」が誤り。選択肢3はかける向きが逆。選択肢4は「関係がない」が誤りで、きちんと関係があるぜ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 同じ値ではない |
| 2 | ✓ | nPr=r!×nCrで順列が大きい |
| 3 | ✗ | かける向きが逆 |
| 4 | ✗ | r!倍の関係がある |
オリジナル問題3(重複順列)
0〜9の数字を使う4けたの暗証番号の総数に関する次の記述のうち、正しいものはどれか。
- 同じ数字は使えないものとして、10P4で求めるため5040通りになる
- 順番を区別しないので組合せ10C4で求め、210通りになると考えられる
- 同じ数字を何度でも使え、10⁴すなわち10000通りになる重複順列だ
- 数字は1回しか使えず、並べ替えも区別しないので一通りしかないと考える
解答は 3 だぜ。
暗証番号は同じ数字を何度でも使えて、並ぶ順番も区別するから重複順列。10×10×10×10=10⁴=10000通りだ。
選択肢1は「同じ数字は使えない」とする誤り(実際は使える)。選択肢2は順番を区別しないとする誤り。選択肢4の「一通り」も誤りだぜ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 同じ数字を何度でも使える |
| 2 | ✗ | 暗証番号は順番を区別する |
| 3 | ✓ | 重複順列で10⁴=10000通り |
| 4 | ✗ | 一通りではない |
まとめ
押さえどころ
- 🔴 使い分け = 並べる(順番を区別)なら順列nPr、選ぶだけなら組合せnCr。
- 🔴 関係 = nPr = r!×nCr。順列のほうが必ず大きい。
- 🟡 重複あり = 重複順列はn^r(暗証番号など)、重複組合せは(n+r−1)Cr。
次に学ぶ
- 確率分布 ── 何通りあるかを数える順列・組合せは、確率の計算の土台。場合の数が分かると確率がぐっと身近になる。
- アルゴリズムの計算量 ── 組合せの数が爆発的に増える「組合せ爆発」は、計算量を考えるうえで欠かせない感覚につながる。
執筆: SikakuQuest編集部