2

2026年東京大学理系数学第6問を解いてみる

136
1
$$$$

[リンク](https://x.com/DivisorFunctioN/status/2026575989028102233?s=20) リンク
[リンク](https://x.com/DivisorFunctioN/status/2026619542315901165?s=20) リンク

はい.今回はこの「方針」を解説したいと思います.
なお,この記事は完全に私の自己満なので,もし今から示すものが既存の解答と似ていても咎めないでください.というか解答そのものを書くつもりはありません.そのかわり,論証などに間違いがあればボロクソに言っていただいて結構です.

さて,件の問題がこちらです.
問題([画像の引用元](https://x.com/Math_Exam_Prac/status/2026568397547515967?s=20)) 問題( 画像の引用元 )

見るからに面白いです.約数が大好きな私が受験生なら真っ先に取り掛かってますね.

問題を解き始める前に,少し考察をしておきましょう.$f, g$の定義から,次の等式が成り立つことがわかります.
$$ f(3n) = f(n), \ \ g(3n) = g(n) \ \ \ \ (\forall n) $$
よって,$n$$3$で割り切れないとしても問題はありません.
正の整数$n$が与えられたとし,$n$$p_1, \ldots, p_m$を素因数にもつとします.上のことから,$p_1, \ldots, p_m$$3$で割った余りは,いづれも$1$または$2$としてよいです.
もし$p_1 \equiv 1 \ (\mathrm{mod}\ 3), \ p_2 \equiv 2 \ (\mathrm{mod}\ 3)$なら$p_1p_2 \equiv 2 \ (\mathrm{mod}\ 3), \ \ p_1^2, p_2^2 \equiv 1 \ (\mathrm{mod}\ 3)$です.考察はこのへんにして,そろそろ解いていきましょう.

(1)
$2800 = 2^45^27$で,上の考察から$f$$(\{2\text{の偶数乗}\times5\text{の偶数乗}\}\text{の個数}+\{2\text{の奇数乗}\times5\text{の奇数乗}\}\text{の個数})\times2$
一方で$g$$(\{2\text{の偶数乗}\times5\text{の奇数乗}\}\text{の個数}+\{2\text{の奇数乗}\times5\text{の偶数乗}\}\text{の個数})\times2$
であるとわかるので,$f(2800) = 16, \ g(2800) = 14$がでます.なお,偶数乗には$0$乗を含みます.

(2)
すぐにでも証明を始めたいところですが,その前に記号を定義しておきましょう.

  • 定義$1$ 
    正の整数$n$に対し
    $$ D(n) := 1 + \#\{d \mid d \text{は$n$の正の約数かつ,$d$の素因数はすべて$3$で割ると$1$余る}\} $$
    と定める.$1$足しているのは集合に$n$の正の約数$1$を含めたいからである.
  • 定義$2$ 
    正の整数$n$に対し
    $$ D_0(n) := \mathrm{max}\{d \mid d \text{は$n$の正の約数かつ,$d$の素因数はすべて$3$で割ると2余る}\} $$
    と定める.
  • 定義$3$(床関数)
    実数$x$に対し,$x$以下の整数で最大のものを$\mathrm{floor}(x)$とかく.
  • 定義$4$(天井関数)
    実数$x$に対し,$x$以上の整数で最小のものを$\mathrm{ceil}(x)$とかく.

さて,(1)の計算からもわかるように
$$ f(n) = f(D_0(n)) \cdot D(n), \ \ g(n) = g(D_0(n)) \cdot D(n) \ \ \ \ (\forall n) $$
が成り立ちます.ゆえに,$f(D_0(n)) \geq g(D_0(n)) \ \ (\forall n)$を示せばよいことがわかります.
ここで,$n = 2800$として(1)をどのように計算したのかを思い出しましょう.$D_0(2800) = 2^45^2$でした.このとき$f$$2,2,2,2,5,5$の中から偶数個を選んで積の値の個数を計算し,$g$では奇数個を選んで同様のことを計算していましたね.これは一般の$n$でも変わりません.
それではさっそく,$f(D_0(n)) \geq g(D_0(n)) \ \ (\forall n)$を示すべく漸化式を立てましょう.
正の整数$n$を固定し,$D_0(n) = p_1^{a_1}\cdots p_m^{a_m}$と素因数分解されたとします.$1 \leq k\lt m$なる整数$k$に対し
$$ \begin{array}{l} \left\{ \begin{array}{l} E_{k + 1} = (\mathrm{floor}(a_{k + 1} / 2) + 1)E_k + \mathrm{ceil}(a_{k + 1} / 2)O_k, \\ O_{k + 1} = \mathrm{ceil}(a_{k + 1} / 2)E_k + (\mathrm{floor}(a_{k + 1} / 2) + 1)O_k \end{array} \right. \\ \left\{ \begin{array}{l} E_1 = \mathrm{floor}(a_1 / 2) + 1, \\ O_1 = \mathrm{ceil}(a_1 / 2) \end{array} \right. \end{array} $$
によって数列を定めます.$E_m = f(D_0(n)), \ O_m = g(D_0(n))$がすぐにわかり,$E_m \geq O_m$も数学的帰納法によりただちに示されるので,$f(n) \geq g(n)$は任意の$n$に対し示されます.

(3)
(2)の証明の途中で,実は$E_m - O_m = 0, 1$であることがわかります.$g(n) = 15$なら$D(n)$$15$の約数ですから,(2)に示したことから$f(n) = 15, 16, 18, 20, 30$です.
ここで,「$D(n)$$15$の正の約数すべてをとりうるか」「$f(n) = 15$となりえるか」という問題がうまれますが,前者は$3$で割って$1$余る素数のべきを考えることで解決し,後者は前者を踏まえたうえで素数のべきを$2$倍すれば解決します.

$ $
私はこの問題を$20$分程度で解きましたが,高校生は高い緊張の中これを解かされるんですね......なんて恐ろしい.

投稿日:2日前
数学の力で現場を変える アルゴリズムエンジニア募集 - Mathlog served by OptHub

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

約数関数、数列関係の記事を中心に書いていきます。 記事の内容に間違いがあれば教えてくれるとありがたいです。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中