数学B / 数列
平方数と立方数を除いた数列
問題
自然数を1から順に並べ、平方数()と立方数()をすべて取り除いてできる数列
の第2026項を求めよ。
ヒントを見る
第 n 項を直接追いかけるのではなく、「x 以下に何個残るか」を数える式を作れないか。平方数と立方数を両方引くとき、二重に引いてしまう数はないか — そこに気づけるかが全て。
解答・解説
方針
「第2026項が x」とは「x 以下に残る数がちょうど2026個で、x 自身が残っている」こと。x 以下に残る個数は (平方かつ立方である6乗数を引きすぎるので足し戻す)。見当をつけてこの方程式を解き、最後に検証する。
解答
⓪ 発想 — どう考え始めるか。 順に数えて2026個目を探すのは論外だ。「第2026項 」を、個数の等式に読み替える。
以下に残る数の個数を とすると、条件は「 かつ 自身が残っている」。 は から平方数 個と立方数 個を引くが、ここに罠がある。
平方数でも立方数でもある数(=6乗数)を2回引いている。 だから 個を足し戻す(包除原理)。あとは と見当をつけて検証すればよい。
① 個数関数を作る。 以下の平方数は 個、立方数は 個。両方に属する数は の形(6乗数)で 個。よって取り除かれる個数は で、残る個数は
② 見当をつける。 は2026より「取り除かれた分」だけ大きいはず。、、 と見て
③ 検証する。 より 。 より 。 より 。よって
さらに は平方数でない( と の間)し立方数でもない( と の間)から、 自身が数列に残っている。 は残っている数のところでだけ1ずつ増えるので、 かつ が残っていることから、第2026項はちょうど 。
まとめ: 「第 項を求める」を「個数関数の方程式 」に読み替えるのが急所。そして2種類を取り除くときは、両方に属するもの(ここでは6乗数)の足し戻しを忘れない — 忘れると答えが3つずれる。見当 → 検証の2段構えで確定させる。
発展 — 一歩先へ。 「取り除かれた分だけ前へ進む」という見当のつけ方は、、 という反復として系統化できる(本問は1回で に到達し、以後動かない=自己無撞着)。「間引かれた列の第 項」を個数関数の逆問題として解くこの型は、素数の第 番目の見積もりなどにも通じる考え方だ。
別解
目印の平方数から歩く(見当が苦手な人へ)。 きりのよい目印として、 の直前の平方数 を使う。
まず までに残る個数を数える。、()、()だから
は平方数で取り除かれるので、次の が第 項。
ここから先、次の平方数は 、次の立方数は 。つまり から までは1つも取り除かれない。第 項から数えて 個先へそのまま歩けば
これが第2026項(範囲 未満に収まっているので安全)。
個数関数の方程式(本解)は一般に強力だが、目印+歩数は「次の障害物まで一直線」という状況で最速になる。どちらも の考え方が土台にあるのは同じだ。
ポイント
- (6乗数の足し戻し)。
- 見当 。
- かつ 2080 は残っている → 第2026項は2080。
よくある間違い
- 6乗数の足し戻しを忘れて とする(答えが3ずれ、検証も合わずに迷走する)。
- の確認だけで「 自身が残っている」の確認を飛ばす( が除かれる数なら第2026項はその手前の数)。
- の評価を雑にやって とする(。境界の3乗は必ず書いて比べる)。