場合の数第 4 回

典型的な数え上げ

順列

はじめに

場合の数の基本は前回学びました。 今回は,場合の数の典型的な問題をいくつか考えてみたいと思います。

目次

「~でない」の場合の数

ある場合の数を考えるとき,まず「そうならない場合の数」を考えた方が簡単なことがあります。 例を通して考えてみましょう。

\(3\)つのさいころ\(A\)\(B\)\(C\)を振ったとき,最低\(1\)つは\(3\)の目が出る場合は何通りあるでしょうか? 前回学んだ考え方では,\(3\)の目が\(1\)つ出る場合,\(2\)つ出る場合,\(3\)つ出る場合に分けて考えるのですが,かなり面倒です。

「最低\(1\)つは\(3\)の目がでる場合」というのは,「\(1\)つも\(3\)の目が出ない場合」ではないということです。 ですから,次の考え方が役立ちます。

「~でない」の場合の数

事柄\(U\)の場合の数が全体で\(u\)であり,そのうちある事柄\(A\)が起こる場合の数が\(a\)であるとする。 このとき,\(A\)が起こらない場合の数\(\overline{a}\)は,次の式で求められる。

\( \begin{align} \overline{a} = u - a \end{align} \)

このことは,それぞれの場合を要素とする集合を考えても分かります。 全体集合を\(U\)とする集合\(A\)に対して,その補集合\(\overline{A}\)の要素の個数は,次のように求められますね。

\( \begin{align} n(\overline{A}) = n(U) - n(A) \end{align} \)

改めて先ほどの問題を考えてみましょう。 \(3\)つのさいころを振って,最低\(1\)つは\(3\)の目が出る場合の数ですね。

まず全体の場合の数を求めます。 それぞれのさいころの出る目は\(6\)通りありますから,全体の場合の数は次の通りです。

\( \begin{align} 6 \times 6 \times 6 = 216 \end{align} \)

次に\(1\)つも\(3\)の目が出ない場合の数を求めます。 このとき,どのさいころの出る目も\(5\)通りしかありませんから,この場合の数は次の通りです。

\( \begin{align} 5 \times 5 \times 5 = 125 \end{align} \)

したがって,最低\(1\)つは\(3\)の目が出る場合の数は次の通り求められます。

\( \begin{align} 216 -125 = 91 \end{align} \)

考えやすいように発想を転換して,楽に計算できるようにしましょう。

約数の個数と和

場合の数の典型的な問題として,約数の個数やその和の求め方を紹介しておきます。 例として\(180\)の約数の個数と,その約数の和を求めてみましょう。

何も工夫しなければ,\(1\)から\(180\)までの自然数で順に割ってみて,割り切れたものを約数として数えれば解ける問題です。 しかし,数が大きくなるとこの方法では手が付けられなくなるでしょう。

大きな数にも対応できるように,工夫して約数を数えられるようにします。 そのための初めのステップが素因数分解です。 \(180\)を素因数分解すると次の通りになります。

\( \begin{align} 180 = 2^2 \times 3^2 \times 5 \end{align} \)

\(180\)の約数とは,\(180\)を割り切れる数ですね。 \(180\)を割り切れる数は,\(180\)の素因数からなる数です。 そうでない数で割ろうとしても,約分できませんね。

というわけで,約数は素因数を組み合わせてできるものだと分かりますから,約数の個数は「どの因数をいくつ使うかの選び方」の場合の数になります。 例えば,素因数\(2\)\(1\)個,素因数\(3\)\(2\)個使って,素因数\(5\)は使わない場合は次の約数が得られます。

\( \begin{align} 2^1 \times 3^2 = 18 \end{align} \)

同様に考えていくと,全ての約数が分かります。 先ほどの素因数\(5\)のように,「ある素因数を"使わない"」という選択肢もあることを考慮すると,素因数の組み合わせ方は次の数だけあります。

\( \begin{align} 3 \times 3 \times 2 = 18 \end{align} \)

例えば素因数\(2\)の指数は\(2\)ですから,この素因数を使える個数は\(0\)個~\(2\)個の\(3\)通りですね。 このようにある素因数を使える個数は,その素因数を使わない場合も含めて「指数\(+ 1\)」通りになることに注意してください。


続いて約数の和を求めてみましょう。 先ほど見たような素因数の組み合わせが全て登場するように,うまく計算式を立てます。

「組み合わせ」から連想すべきは,分配法則です。 次のような式を立てれば,素因数の全ての組み合わせ,つまり全ての約数の和を求められます。

\( \begin{align} \textcolor{red}{(1 + 2^1 + 2^2)}\textcolor{blue}{(1 + 3^1 + 3^2)}\textcolor{green}{(1 + 5)} \end{align} \)

この式の赤・青・緑の部分は,それぞれ素因数\(2\)\(3\)\(5\)を使う個数のパターンを表しています。 式を分配法則で展開すると,例えば\(\textcolor{red}{2^1} \cdot \textcolor{blue}{3^1} \cdot \textcolor{green}{1}\)のように各素因数の個数を選んで組み合わせた項が登場します。 こうして全ての約数が登場することになります。

この式が全ての約数の和を表すのですから,後は計算するだけですね。

\( \begin{align} &\quad (1 + 2^1 + 2^2)(1 + 3^1 + 3^2)(1 + 5) \\[5pt] &= (1 + 2 + 4)(1 + 3 + 9)(1 + 5) \\[5pt] &= 7 \cdot 13 \cdot 6 \\[5pt] &= 546 \end{align} \)

このように全ての組み合わせを登場させる場合には,分配法則やそれに似た考え方が役立ちます。

確認問題

\(3\)つのさいころ\(A\)\(B\)\(C\)を振ります。 このとき,次の問いに答えてください。

  1. 偶数の目がひとつも出ない場合が何通りあるか答えてください。

  2. \(5\)の目がひとつも出ない場合が何通りあるか答えてください。

  3. 出た目の積が\(10\)で割り切れる場合が何通りあるか答えてください。

答え

(1),(2)は(3)のヒントです。 場合の数を重複して数えないように注意しましょう。

  1. 偶数の目が出ないということは,\(1\)\(3\)\(5\)の目だけが出るということです。 各さいころの目の出方が\(3\)通りしかないので,場合の数は次のように求められます。

    \( \begin{align} 3 \times 3 \times 3 = 27 \end{align} \)

    以上から,答えは\(27\)通りです。

  2. \(5\)の目が出ないということは,各さいころの目の出方が\(5\)通りしかないので,場合の数は次のように求められます。

    \( \begin{align} 5 \times 5 \times 5 = 125 \end{align} \)

    以上から,答えは\(125\)通りです。

  3. 出た目の積が\(10\)で割り切れるのは,出た目の積が\(2\)\(5\)を約数に持つ場合です。 そうなるためには,偶数の目・\(5\)の倍数の目がそれぞれ少なくとも\(1\)つは出ていなくてはなりません。

    「少なくとも~」や「最低~」という条件は考えづらいので,その否定から考えましょう。 出た目の積が\(10\)で割り切れないのは,偶数の目がひとつも出ないか,\(5\)の目がひとつも出ない場合ですね。

    偶数の目がひとつも出ない場合,\(5\)の目がひとつの出ない場合が何通りかは(1),(2)で求めました。 しかし,出た目の積が\(10\)で割り切れない場合の数を次の計算で求めることはできません。

    \( \begin{align} 27 + 125 = 152 \end{align} \)

    前回,和の法則を学びましたね。 2つの場合が同時に起こらないとき,そのどちらかが起こる場合の数は,それぞれの場合の数を足せば求められるという内容です。

    和の法則を使うには,それぞれの場合が同時に起こらないことが必要です。 しかし,偶数の目がひとつも出ない場合,\(5\)の目がひとつも出ない場合は同時に起こることもあるため,場合の数をそのまま足してはならないのです。

    ではどうすれば良いかというと,\(2\)つの場合が同時に起こる場合の数を\(2\)回重複して数えてしまっているので,その分を引いて調整すれば良いのです。 偶数も\(5\)の目も出ない場合は,さいころの出る目が\(2\)通りしかありませんから,場合の数は次の通りになります。

    \( \begin{align} 2 \times 2 \times 2 = 8 \end{align} \)

    したがって,出た目の積が\(10\)で割り切れない場合の数は,次の通りになります。

    \( \begin{align} 27 + 125 - 8 = 144 \end{align} \)

    また,さいころ\(3\)つの目の出方全体の場合の数は次の通りですね。

    \( \begin{align} 6 \times 6 \times 6 = 216 \end{align} \)

    したがって,出た目の積が\(10\)で割り切れる場合の数は,次の計算の通り\(72\)通りです。

    \( \begin{align} 216 - 144 = 72 \end{align} \)

\(4200\)の約数の個数と,その約数の和を求めてください。

答え

約数は素因数を組み合わせたものと考えられます。 まずは\(4200\)を素因数分解します。

\( \begin{align} 4200 = 2^3 \times 3 \times 5^2 \times 7 \end{align} \)

素因数を組み合わせる際に,素因数\(2\)\(3\)\(5\)\(7\)を使う個数は,それぞれ"使わない"という選択肢も含めて\(4\)\(2\)\(3\)\(2\)通りありますから,約数の個数は次の計算で求められます。

\( \begin{align} 4 \times 2 \times 3 \times 2 = 48 \end{align} \)

したがって,約数は\(48\)あります。

次に約数の和を求めます。 次の式を展開すれば,素因数の全ての組み合わせが現れますから,全ての約数の和を求められます。

\( \begin{align} &\quad (1 + 2^1 + 2^2 + 2^3)(1 + 3)(1 + 5 + 5^2)(1 + 7) \\[5pt] &= (1 + 2 + 4 + 8)(1 + 3)(1 + 5 + 25)(1 + 7) \\[5pt] &= 15 \cdot 4 \cdot 31 \cdot 8 \\[5pt] &= 14880 \end{align} \)

したがって,約数の和は\(14880\)です。