数学A / 場合の数
同じ玉を分ける(整数解の個数)
問題
区別のできない10個の玉を、3人 A, B, C に分ける。
(1) 1個ももらえない人がいてもよいとき、分け方は何通りか。
(2) 3人とも少なくとも1個はもらうとき、分け方は何通りか。
ヒントを見る
『区別のない玉を3人に配る』= (個数)の 以上の整数解の個数。○と仕切りの並べ方に翻訳する。(2)『全員1個以上』は先に1個ずつ配ってから、残りを 以上で分ける。
解答・解説
方針
玉が区別できないので、分け方は『各人が何個もらうか』の数の組で決まる。つまり の整数の組を数える重複組合せだ。
(1)は0以上の整数の組、(2)は1以上の整数の組。
(2)は『先に全員へ1個ずつ配ってしまう』と、残りを0以上で分ける(1)と同じ形になる。この『先渡し』がコツだ。
解答
⓪ 発想 — どう考え始めるか。 玉に区別がないから、分け方を決めるのは「誰が何個か」の数の組だけだ。
つまり の整数解の個数を数えればよい。これは重複組合せ、すなわち ○ と仕切りの並べ方に翻訳できる。
(2)の「 個以上」は、先に 個ずつ配ってしまう。すると「 個以上」の型に戻る。条件を配り済みにして標準形へ帰着させる発想だ。
玉が区別できないので、分け方は A, B, C のもらう個数 の組で決まる。つまり の整数の組を数える。
(1) 各人0個以上なので、0以上の整数の組を数える。玉10個を ○、A・B・C の区切りを仕切り | 2本で表すと、○10個と | 2本の並べ方に対応する。
よって
(2) 3人とも1個以上という条件は、先に1個ずつ配ってしまうと扱いやすい。まず A, B, C に1個ずつ配ると3個使い、残りは 個。これを改めて0個以上で3人に分ければ、全員が(最初の1個があるので)必ず1個以上になる。残り7個を0以上で分ける方法は
まとめ:『1個以上』を『先に1個ずつ渡して、残りを0個以上に』と読みかえるこの手は、 を ( など)に置きかえたのと同じだ。条件を消して基本の形に戻すのが、重複組合せの応用の定番だ。
発展 — 一歩先へ。 (2)の答え は、 を 個の正の整数の順序つきの和に書く方法の数と同じだ。こうした順序つきの分け方を、整数の「組成」という。
一般に、正の整数 を 個の正の整数の順序つき和に書く方法は 通り。 個の玉のあいだ か所から、仕切りを入れる か所を選ぶ、と見れば出る。
個数を問わず、 を何個かの正の整数の和に書く方法をすべて足すと 通り。 か所の各すきまで、仕切りを入れるか入れないかを選ぶからだ。順序を区別しない「分割」とは別物で、こちらはすきまの選び方で数えられる。
(1) 66通り (2) 36通り
別解
別解 — 「 個の人がいる」場合を包除で除く(補集合のルート)。 (2)を先渡しせず、(1)の 通りから「誰かが 個」の分け方を引く。
まず「 が 個」の分け方を数える。 なら残り 個を に 個以上で分けるので、 の個数が 〜 で 通り。 だけ、 だけが の場合も、同じく 通りずつ。
ただし「 がともに 」だと が 個で 通り。こうした 人が の場合を引きすぎるので、足し戻す。 人とも は和が にならず、起こらない。
包除でまとめると
先に 個ずつ配る本解と同じ 通り。少し手間だが、条件を「禁止事象」として包除で処理する練習になる。
ポイント
- 区別しない玉の分配 = の整数の組の数
- 0以上の整数の組 →
- 1以上は「先に1個ずつ配る」= 置きかえで0以上に戻す
よくある間違い
- 玉を区別できるものと思い、 などの重複順列で数える(玉は区別しないので配分の数)。
- (2)で「 個以上」を忘れて 個以上のまま数え、 と答える。
- (2)を包除で進めるとき「 人が 個」を引きすぎたまま直さず、先渡しの簡単な手にも気づかない。