同じものを含む n 個を 1 列に並べる場合の数 n! ÷ (a! × b! × …) を求めます。個数をカンマ区切りで並べます(「aaabbc」なら 3, 2, 1)。
解説
同じものが混ざっている n 個を 1 列に並べる場合の数です。全体の階乗を、同じもののグループごとの階乗で割ります。
a!b!c!⋯n! a,b,c,… は、それぞれ同じものの個数です。合計すると n になります。
例
「aaabbc」の 6 文字を並べ替えます。a が 3 個、b が 2 個、c が 1 個なので、個数として 3, 2, 1 を入力します。
3!2!1!6!=6×2×1720=12720=60 60 通りです。
なぜ割るのか
6 文字すべてが違うものなら 6!=720 通りです。しかし 3 個の a は互いに区別できません。a どうしを入れ替えた 3!=6 通りは、見た目がまったく同じ並びになります。
同じように b どうしの入れ替え 2!=2 通りも重複します。だから 3!×2!×1!=12 で割るのです。
使いどころ
- 文字の並べ替え(「MISSISSIPPI」の並べ方など)
- 最短経路の数え上げ。碁盤の目の道を右に 3 回、上に 2 回進む道順は、R R R U U の並べ方なので 3!2!5!=10 通り
- コインの表裏の出方のパターン数
組み合わせ nCr は、これの特別な場合(2 種類しかない場合)です。