巨大な数を割れよ!割れよ! – 1989年東大 数学 第4問
1989年東大 数学 第4問 は、巨大な有理数の整数部分に関する問題です。問題文は以下の通りです。
\displaystyle\frac{10^{210}}{10^{10} + 3} の整数部分のけた数と、1の位の数字を求めよ。ただし、
321 = 10460353203
を用いてよい。
1無量大数 = 1064 なので、10210 = (1070)3 = (100万無量大数)3 です。この超巨大自然数を 1010 + 3 = 100億飛んで3 という微妙な数で割った時の、商の桁数と一桁目の値を出してください、と言うのが問題の主旨です。
問題文が短いのは好感が持てますが、題意が浮世離れしていて、どうアプローチすればよいのか、イメージが湧きません。
1989年東大 数学 第4問 の解法
整数部分の桁数を求める
これは比較的簡単です。
\frac{10^{210}}{10^{10} + 3} < \frac{10^{210}}{10^{10}} =10^{200}
なので、整数部分の桁数は200以下です。また、 1010 + 3 は 1010 よりちょっとだけ大きいので、
10^{199} < \frac{10^{210}}{10^{10} + 3}
であると予想できます。実際、
\begin{aligned} & 10^{199} \times (10^{10} +3) \\ & = 10^{209} + 3 \times 10^{199} \\ & < 10^{209} + 9 \times 10^{10} \times 10^{199} \\ & = 10^{209} + 9 \times 10^{209} = 10^{210} \end{aligned}
です。したがって、整数部分の桁数は200です。
1の位の求め方の検討
問題文の数字は大きすぎてピンとこないので、もう少し常識的な数字で考えてみます。
たとえば
\frac{10^3}{10^2+3}
です。分子がどういう値なら割り切れるか考えてみると、103 + 3 × 10 なら割り切れるので、
\begin{aligned} \frac{10^3}{10^2+3} &= \frac{10^3 +3 \cdot 10 -3 \cdot 10} {10^2+3} \\ &= 10 - \frac{30} {10^2+3} \end{aligned}
と、整数部分と小数部分にうまく分けることが出来ました。
この考え方を問題文の数字に適用します。
分子を分母の倍数+その他に分解する
上記の方針によって、与式を変形します。
\begin{aligned} & \frac{10^{210}}{10^{10} + 3} \\ &= \frac{(10^{10})^{21} + 3 \cdot (10^{10})^{20} - 3 \cdot (10^{10})^{20}}{10^{10} + 3} \\ & = (10^{10})^{20} +(-3) \cdot \frac{ (10^{10})^{20}}{10^{10} + 3} \\ & = (10^{10})^{20} +(-3) \cdot (10^{10})^{19} \\ & \text{ } + (-3)^2 \cdot \frac{ (10^{10})^{19}}{10^{10} + 3} \\ & = \sum_{k=0}^{20} (-3)^k \cdot (10^{10})^{20-k} - \frac{ 3^{21}}{10^{10} + 3} \cdots (1)\\ \end{aligned}
となります。
0 \leqq k \leqq 19 のとき、 3^k \cdot (10^{10})^{20-k} の1の位は0です。また、
321 = 3 の倍数 × 100 + 3
なので、320 の1の位は1です。よって、 \sum\limits_{k=0}^{20} (-3)^k \cdot (10^{10})^{20-k} の1の位は1です。
そこで
\sum_{k=0}^{20} (-3)^k \cdot (10^{10})^{20-k} = N +1
と置きます。ここに N は1の位が0の自然数です。
式(1)右辺の第2項を評価する
右辺第2項 \frac{ 3^{21}}{10^{10} + 3} の絶対値が1より小さければ、本問の回答は完成します。ところが、
\begin{aligned} 3^{21} & = 10,460,353,203 \\ 10^{10} + 3 & = 10,000,000,003 \end{aligned}
なので、右辺第2項の絶対値は1より大きく、かつ2より小さくなります。
そこで
\begin{aligned} \frac{ 3^{21}}{10^{10} + 3} = 1+ \delta \\ (0<\delta < 1) \end{aligned}
と置くとき、
\begin{aligned} \frac{10^{210}}{10^{10} + 3} &= N + 1 -(1+ \delta) \\ & = N -1 + (1 -\delta) \end{aligned}
となりますが、 N- 1 は自然数、かつ 0 < 1 - \delta < 1 なので、 N- 1 は左辺の有理数の整数部分です。
N の1の位が0なので、 N- 1 の1の位は9になります。
1989年東大 数学 第4問 別解
問題文で与えられた有理数を整数部分とそれ以外に分割する方法には、別のやり方もあります。
am+bm の因数分解を利用する
「平成の東大理系数学 -1989年- – ちょぴん先生の数学部屋」を参考にしました。
\begin{aligned} & \frac{10^{210}}{10^{10} + 3} \\ & = \frac{(10^{10})^{21} + 3^{21} -3^{21}}{10^{10} + 3} \\ & = \sum_{k=0}^{20} (-3)^k \cdot (10^{10})^{20-k} - \frac{ 3^{21}}{10^{10} + 3} \\ \end{aligned}
と、一気に変形できます。
この方法が思いつけるのなら、こちらのほうが本稿よりずっとスマートです。
二項定理を利用する
「巨大な有理数の1の位の数(1989年東京大学理系数学第4問)」を参考にしました。
\begin{aligned} & \frac{10^{210}}{10^{10} + 3} \\ & = \frac{(10^{10}+3-3)^{21}}{10^{10} + 3}\\ & = \frac{\displaystyle\sum_{k=0}^{21}{}_{21} \mathrm{C}_k (-3)^k (10^{10}+3)^{21-k}}{10^{10} + 3}\\ & =\sum_{k=0}^{20}{}_{21} \mathrm{C}_k (-3)^k (10^{10}+3)^{20-k} - \frac{ 3^{21}}{10^{10} + 3} \\ \end{aligned}
です。
ここで
N = \sum_{k=0}^{20}{}_{21} \mathrm{C}_k (-3)^k (10^{10}+3)^{20-k}
とおくと、 N は正の整数で、かつ
(10^{10}+3) N = 10^{210} + 3^{21}
が成り立ちます。
10210 + 321 の1の位は3、また、1010 +3 の1の位も3なので、 N の1の位は1です。
1989年東大 数学 第4問 解法のポイント
本問は本質的には、整数の割り算の問題です。プリミティブなやり方としては、本稿のように割り算の筆算を応用する方法が、単純で分かりやすいと思います。
また、与式の代数的な構造に着目する方法は、これに気が付けばよりスマートに解けるので、適用できないかどうか、常に注意するようにしましょう。