組み合わせと順列の公式集|場合の数を求める
「場合の数」を数える問題では、順序を区別するかどうかによって使う公式が変わります。順序を区別するのが順列(P)、区別しないのが組み合わせ(C)です。ここでは階乗の基本から重複組み合わせまでを整理します。
階乗
n! (エヌの階乗) は、1からnまでのすべての整数を掛け合わせたものです。
n! = n × (n-1) × (n-2) × … × 2 × 1
例:5! = 5×4×3×2×1 = 120
特別な約束として 0! = 1 と定義されています。「何も並べない並べ方は1通り」と考えると自然な定義です。
順列(nPr)
異なるn個のものからr個を選んで並べる方法の数を順列といい、nPrと書きます。
nPr = n! / (n-r)! = n × (n-1) × (n-2) × … × (n-r+1)(nから始めてr個の数をかける)
例:5人から3人を選んで1列に並べる方法は 5P3 = 5×4×3 = 60通り
全部並べる場合
n個すべてを並べる順列は nPn = n! です。
組み合わせ(nCr)
異なるn個のものからr個を選ぶ方法の数(順序を区別しない)を組み合わせといい、nCrと書きます。
nCr = nPr / r! = n! / {r!(n-r)!}
順列nPrをr個の並べ方(r!通り)で割ることで、順序の違いを打ち消して「選ぶだけ」の数に直しています。
例:5人から3人を選ぶ方法は 5C3 = 5P3 / 3! = 60/6 = 10通り
組み合わせの性質
- nCr = nC(n-r)(r個選ぶことと、選ばない(n-r)個を決めることは同じ)
- nC0 = nCn = 1
- nCr = (n-1)C(r-1) + (n-1)Cr(パスカルの三角形の関係)
円順列とじゅず順列
円順列
異なるn個のものを円形に並べる方法の数は (n-1)! です。回転して同じ並びになるものを1通りとみなすため、1個を固定して残り(n-1)個を並べると考えます。
じゅず順列(数珠順列)
円順列のうち、裏返して同じ並びになるものも1通りとみなす場合は (n-1)! / 2 になります。ネックレスや数珠のように、表裏を反転させても同じ形とみなせる場合に使います。
重複順列と重複組み合わせ
重複順列
異なるn種類のものから重複を許してr個を選んで並べる方法の数は n^r です。
例:0から9までの10種類の数字を使って4桁の暗証番号を作る方法は 10^4 = 10000通り(同じ数字を繰り返し使ってよい場合)
重複組み合わせ
異なるn種類のものから重複を許してr個を選ぶ(順序を区別しない)方法の数は、次の公式で求められます。
nHr = (n+r-1)Cr
n種類の商品から重複を許してr個選ぶ問題(お菓子をr個買う、など)で使われます。導出には「仕切りと玉」を並べる考え方(棒と玉のモデル)がよく使われ、n種類の間にある(n-1)個の仕切りとr個の玉を合わせて並べる組み合わせとして (n+r-1)Cr が導かれます。
同じものを含む順列
n個のもののうち、p個、q個、r個…がそれぞれ同じものであるとき(p+q+r+…=n)、これらを1列に並べる方法の数は
n! / (p! × q! × r! × …)
で求められます。例えば「a, a, b, b, b」の5文字を並べる方法は 5! / (2!×3!) = 10通りです。
まとめ
場合の数の公式は、「順序を区別するか」で順列(P)と組み合わせ(C)を使い分けることが出発点です。円順列・じゅず順列・重複順列・重複組み合わせは、それぞれ特殊な条件(円形に並べる、重複を許す、表裏を区別しないなど)に応じた応用形として位置づけて理解すると、公式の使い分けに迷いにくくなります。