数学I / 集合と命題

平方数でも立方数でもない数の個数(包除原理)

実戦編集合と命題包除原理数え上げ整数の性質単元横断

問題

から までの整数のうち、平方数でも立方数でもないものの個数を求めよ。

ヒントを見る

平方数は 個、立方数は 個。両方= 乗数は 個。包除で「平方または立方」を数え、全体から引く。

解答・解説

方針

「平方数の集合」と「立方数の集合」の和集合の個数を包除原理で求め、全体 から引く。両方に属するのは 乗数(平方かつ立方)。

解答

⓪ 発想 — どう考え始めるか。 「平方数でも立方数でもない」を数えるのは大変だが、反対側(平方数または立方数)なら数えやすい。全体から引く作戦だ。

「または」の個数は、単純に足すと両方に属するものを2回数えてしまう。両方=平方かつ立方=6乗数

だから(平方)+(立方)−(6乗)の包除原理で「または」を数え、 から引く。

定理包除原理

① 各個数を数える。 以下で

  • 平方数()は 個()、
  • 立方数()は 個()、
  • 平方かつ立方(= 乗数 )は 個()。

② 包除で和集合。 「平方数または立方数」は ③ 余事象。 平方でも立方でもないのは

平方数立方数1〜10002837962
平方数31・立方数10・両方(6乗数)3。どちらでもない=1000−(31+10−3)=962

まとめ 平方 ・立方 ・両方( 乗) を包除で「平方または立方」、全体から引いて 。集合(包除)と整数の融合。

発展 — 一歩先へ。 集合が3つに増えると、包除原理は「1つずつ足す−2つの共通部分を引く+3つの共通部分を足す」と符号が交互に続く( 集合でも同じ)。また「平方数で割り切れない数(無平方数)」の割合が に近づく、という円周率の顔を出す有名な結果も、この包除の無限版から生まれる。

平方数 個、立方数 個、 乗数(両方) 個。包除で「平方または立方」は 個。

別解

ベン図の4部屋を全部埋める(帳簿方式)。 包除の式を覚えていなくても、ベン図の4つの部屋を1つずつ埋めれば同じ答えに着く。

  • 両方(6乗数): 3個( は超過)
  • 平方数のみ: 28個
  • 立方数のみ: 7個
  • どちらでもない: 962個

検算として全部屋の合計 ✓ — 帳簿が締まっていることまで確かめられる。

包除原理(本解)は部屋を埋める作業を式1本に圧縮したもの。集合が3つ以上になると帳簿(部屋)は 部屋に増え、包除の式のありがたみが効いてくる — 2集合のうちに、両方の言葉を行き来しておくとよい。

ポイント

  • 平方 、立方 乗(両方)
  • 包除で「平方または立方」

よくある間違い

  • 「平方または立方」を と足しっぱなしにする(6乗数3個の二重カウント)。
  • 6乗数を「 から」と数え始めて を落とす( は平方数かつ立方数)。
  • 平方数の個数を から 個とする( 個)。