2026東大数学第6問(3)を一瞬! ……は無理だが、1分で解くためのアプローチ
はじめに
事の発端はこのツイートです
社会人になり、当然受験数学からは長く離れていましたから、この問題と出会うのは初めてでした
答えと同じ数字を出すのに30秒、そうでないものを消すのに10倍以上の時間がかかりましたね。確かに頭のいい人なら即答できる、のか……? と考えていたところ良い方法があり、確かにこれなら天才なら即答できるかもしれないと感じました。
さて、どうやらこの問題いわゆる”捨て問”らしいです
解説を見ると確かにやっていることは同じなのですが、少し思考の過程が違うように感じ、もし即答できる人がいればこういうプロセスなんじゃないかと思ったので、共有しておきます
具体的なアプローチ
問題文
n を正の整数とする。nの正の約数のうち、3で割って1余るものの個数をf(n)、3で割って2余るものの個数をg(n)とする。
(1) f(2800), g(2800)を求めよ
(2) f(n)≧g(n)を示せ
(3) g(n)=15であるとき、f(n)がとりうる値を求めよ
この(3)がツイートに出ていたわけですね
(1)は計算するだけですし、(2)はこれから説明する内容を見ていただければ自然とわかると思います
実際の流れ
まず整数問題ですから、適当な数を使ってテストしましょう
素因数に3k + 1のみを持つとき、g(n) = 0なのは言うまでもないので、3k – 1で試します
と言うことで、2^29ですかね
ご存知のように、約数の個数は素因数の(指数 + 1)の積ですから、2^29は30個です
具体的には、{1, 2, 4, …, 2^29}ですね
さてここで、mod3を取れば{1, -1, 1, -1, …, -1}ですから、f(n) = 15です
と、2^30も良さそうですね。この場合f(n) = 16です
実際の数は素因数に3^l, (3k + 1)^l, (3k – 1)^lが入り混じっているわけですから少し複雑です
ここで、約数の個数がなぜ素因数の (指数 + 1)の積で表されるかを考えれば、自然と次のような図式が思い浮かぶでしょう
2^4 : 1, -1, 1, -1, 1
5^3 : 1, -1, 1, -1
7^5 : 1, 1, 1, 1, 1, 1
13^4: 1, 1, 1, 1, 1
3^4 : 1, 0, 0, 0, 0
これは素因数ごとの積を3で割った余りです
例えば2^4 * 5^3 * 7^5 * 13^4 * 3^4の約数の個数が5, 4, 6, 5, 5の積なのは、このいずれかの値を選択する組み合わせに他なりません
したがって、約数が3k ± 1になるような例を考える分には、3^lに関しては1を通る他なく、無視できます
さらに7, 13に関してはどのようなルートを通っても積は1です
つまり、
g(n) = (素因数が3k-1で表される数による約数の積が-1になる組み合わせ) × (素因数が3k+1で表される数による約数の組み合わせ)
です
当たり前なことを言っているようですが、この考え方は極めて重要です。
ここまであまり特別なことはしていません。私は無理ですが頭のいい人なら一瞬だと思います
計算過程
15の約数は1, 3, 5, 15ですから、パターンが純粋な積で表される場合は網羅するだけです
まずは素因数が1種の場合に限って考えます
(素因数が3k-1で表される数による約数の積が-1になる組み合わせ) = 1 のとき、 {1, -1}, {1, -1, 1} のみでそれぞれf(n) = 15, 30
同様に15 のとき、f(n) = 15, 16
3のとき、f(n) = 15, 20
5のとき、f(n) = 15, 18
これで答えと同じ値が出ますが、これでは正答になりません
3k – 1を素因数に2種以上持つ場合を考えていないからです
例えば、2^4 * 5^5はどうでしょう
2か5のいずれかで-1, 反対側で1を選ぶ通りは2×3+3×3=15通りです、条件を満たしていますね
これを完全に網羅で調べようとすると素因数が4種以下という条件で絞ることになり少し時間がかかります
ところで、ここでf(n)とg(n)を比較してみましょう 3k – 1のみに注目すると、-1の指数の偶奇で選択の個数をe, oと区別すれば、e + o = (b_1 +1)(b_2 +1)…(ただしb_iは3k – 1型素因数の指数)であって、e – o = (1+(-1)+…+(-1)^b_1)(1+(-1)+…+(-1)^b_2)…です
(イメージがわかなければ式を展開すると良いでしょう)
よって、e – o = 0 or 1であり、直ちにf(n) ≥ g(n)が言えます
さらに、3k – 1の種類数がe – oの値に影響しないため実は素因数の種数は関係なかったと言うわけです
以下補足です
(i) e – o = 0のとき、f(n) = g(n)よりf(n) = 15
(ii) e – o = 1のとき、f(n) – g(n)は15の約数すなわち1, 3, 5, 15のいずれかである。よって、f(n) = 16, 18, 20, 30
これなら確かに暗算できますね!(辿り着くかどうかはさておき)
論述・別解について
今回はあくまで思考プロセスの共有であって、論述については厳密性を重視していません
実際の回答は計算過程を綺麗にまとめるのが自然でしょうか
この問題の本質は3k – 1型素因数部分の積が平方数であるか否かに帰着します
それが分かっていれば、中間の議論を全て飛ばして最後の話まで辿り着けます
が、これはあくまで一度解いたことがあるからであって、問題を聞いて即座に出るものではないでしょう
他の論述方法としてパッと思いつくのは、ブール代数的に解くことですかね。多分結構綺麗にまとまるんじゃないかな
また、この問題はディリクレ指標が背景にあるので、知っている方はそれっぽく書くのがまあ一番シンプルだと思います
あとは初見では絶対書けませんけど、1でない3乗根ωを使う図形的な解法もありますかね。ディリクレ指標が頭に浮かんでいればアイデアとして出ますし、そうでなくても回転に対応させるのは自然ではあります。とはいえハードルは高い
美しい解法になるでしょうけど、私はやりたくないので誰かお願いします
(おまけ)問題を言い換えてみると
この問題を解いてみて、一番最初に思ったのは「これ、中受に出せるのでは?」でした。

こう見るとなんだか少し簡単な気がしてきますね(全然そんなことないんですけども)
終わりに
「2026東大数学第6問(3)を一瞬! ……は無理だが、1分で解くためのアプローチ」と題して書いてきましたが、じゃあお前は1分で解けるのかと言われればもちろん否です
が、
g(n) = (素因数が3k-1で表される数による約数の積が-1になる組み合わせ) × (素因数が3k+1で表される数による約数の組み合わせ)
を意識すると、意外と不可能でもないなと感じるでしょう
整数問題に共通する考え方で自然に結論に持っていけるため、捨て問と称して取り組まないのは勿体無いです
久々に楽しいと思える問題だったので、ついはしゃいでしまいました
やっぱり受験数学の整数問題は面白いですね



ディスカッション
コメント一覧
まだ、コメントがありません