数学A / 場合の数
3つの集合の個数定理
問題
1 から 100 までの整数について、次の個数を求めよ。
(1) 2 の倍数または 3 の倍数である数。
(2) 2 でも 3 でも 5 でも割り切れない数。
ヒントを見る
の倍数の個数は『 を で割った商』。(1)は『 の倍数 の倍数 両方( の倍数)』。(2)は『どれでも割れない』= 全体から『どれかで割れる』を引く — 3つの輪の重なりを足し引き(包除)で整理する。
解答・解説
方針
1から100までで「2の倍数」が何個あるかは、簡単に数えられる。100を2で割った商が個数だ( 個)。
(1)は集合が2つの個数定理。(2)は集合が3つに増えるが、考え方は同じで、「1つずつ足す→2つの重なりを引く→3つ重なった分を足し戻す」と進める。
気をつけるのは「重なりが何の倍数か」。「2の倍数かつ3の倍数」は6の倍数(2と3の最小公倍数)だ。ここを間違えやすい。
解答
⓪ 発想 — どう考え始めるか。 「2の倍数が何個か」は簡単だ。 個。部品は全部この調子で数えられる。
問題は重なりだ。2の倍数と3の倍数を足すと、6の倍数を2回数えてしまう。だから引く。
(2)は集合が3つに増える。「1つずつ足す → 2つの重なりを引く → 3つ重なった分を足し戻す」。重なりが何の倍数か(最小公倍数)を確認しながら進める。
100以下で の倍数の個数は、100を で割った商(整数部分)で数えられる。記号 はその整数部分を表す。
(1) 2の倍数の集合を 、3の倍数の集合を とする。「2かつ3の倍数」は6の倍数だから、その個数は16。足して重なりを引くと
(2) 2, 3, 5の倍数の集合を とする。まず「2または3または5で割り切れる数」を数える。集合が3つのときは、次の式になる。
重なりは、6の倍数・15の倍数・10の倍数・30の倍数の個数だ。順に入れると
符号が「足す→引く→足す」と交互になるのがポイントだ。求めたいのは「どれでも割り切れない数」なので、全体の100から引いて
発展 — 一歩先へ。 「足す→引く→足し戻す」のリズムは、集合が4つ以上になっても交互に続く(包除原理の一般形)。符号が交互に変わる理由は、「各要素が結局ちょうど1回ずつ数えられるように調整している」からだ。
別解で数えた「 までで 個」は、 と互いに素な数の個数でもある。この個数を与える関数(オイラー関数)は、整数論の主役の1人として応用問題で再登場する。
(1) 67個 (2) 26個
別解
(2)は「周期性」で数える方法もある。2でも3でも5でも割り切れないかどうかは、(=)ごとに同じパターンを繰り返すからだ。
から までで該当する数を書き出すと
の 個。〜、〜 も、それぞれ同じ配置で 個ずつある。
までで 個。残りの 〜 は、奇数のうち でも でも割れない の 個。
合わせて 個。包除原理と同じ答えに着く。「割り切れるかどうかは周期的」という見方は、この先の整数の性質(余りによる分類)で本格的に活躍する。
ポイント
- 100以下の の倍数は 個(割った商)
- 「 かつ の倍数」は最小公倍数の倍数(2かつ3 → 6)
- 3つの集合は符号が「足す→引く→足す」。「どれでもない」は全体から引く
よくある間違い
- 「2かつ3の倍数」の重なりを間違える(正しくは最小公倍数の6の倍数)
- 3つの集合で、最後の を足し戻し忘れる
- の商を四捨五入する(個数は商の整数部分で33個)