文系とて容赦はしないガチ問題 – 2017年京大 文系 数学 第2問
2017年京大 文系 数学 第2問 は特定の数字(本問では2と5)のみを約数に持つ数字の個数を求める問題です。ありがちな問題ですが、本問は文系専用問題であるにもかかわらず、出題者が「獅子は兎を狩るにも全力を尽くす」的な本気度を全開にしてぶつけてきています。問題文は以下のとおりです。
次の問いに答えよ。ただし, 0.3010 < log102 < 0.3011 であることは用いてよい。
(1) 100桁以下の自然数で,2以外の素因数をもたないものの個数を求めよ。
(2) 100桁の自然数で,2と5以外の素因数をもたないものの個数を求めよ。
一見簡単に解けそうに見えますが、特に小問2がヤヴァイです。それでは見ていきましょう。
2017年京大 文系 数学 第2問 小問1の解法
10進法で100桁以下というのがどういう数字かですが、2桁以下というのが 99 以下、すなわち 102 未満であることから、100桁以下は 10100 未満であることがわかります。
したがって求める個数は、
2^n < 10^{100}
を満たす非負整数 n の個数です( n = 0 も有りなのに注意)。
不等式の両辺の常用対数を取って
n < \frac{100}{ \log_{10} 2}
なので、 log102 の近似値を使って
\frac{100}{0.3011 } = 332.1 <\frac{100}{\log_{10} 2}
です。(有効数字4桁)。よって n は332 以下であることがわかりますが、念のため、 \displaystyle\frac{100}{0.3011} と \displaystyle\frac{100}{0.3010} の間に整数が無いことを確認しておきましょう(もしそれらの間に整数が有ったりしたら、その整数と \displaystyle\frac{100}{ \log_{10} 2} との大小が判定できなくて面倒くさいことになる)。
ところが、
\frac{100}{0.3010 } = 332.2
なので、
332 <\frac{100}{\log_{10} 2} < 333
です。よって、 n は332 以下の非負整数であることが、晴れてわかりました。そのような n は 0 も含めて 333 個有りますので、答えは 333 個です。
2017年京大 文系 数学 第2問 小問2の解法
5 や log105 が出てこないように何とかする
100桁の自然数で、素因数が 2 または 5 しか無い数字の個数を求めよ、ということなので、
10^{99} \leqq 2^n5^m < 10^{100}
を満たす非負整数 n,m の組み合わせの個数を求めよ、というのが題意となります。
小問1の時と違って log105 の近似値が与えられていないので、どうしようかと悩む局面ですが、ここで 5 × 2 = 10 であることを思い出しましょう。
5m に 2-m ・2m を掛けることによって、
10^{99} \leqq 2^n 2^{-m}10^m < 10^{100}
を得ます。いい感じに 5 がいなくなりました。十進法ばんざい。
常用対数を取って定式化する
両辺の常用対数を取って
99 \leqq m +(n-m) \log_{10} 2 < 100
です。
99 \leqq (1- \log _{10} 2)m +n \log_{10} 2 < 100
と変形し、
\frac{99 -n \log_{10} 2 }{ 1- \log _{10} 2 } \leqq m < \frac{ 100 - n \log_{10} 2 } { 1- \log _{10} 2 }
としてもいいのですが、このとき
\frac{ 99 - n \log_{10} 2 } { 1- \log _{10} 2 } < \frac{100 -(n+1) \log_{10} 2 }{ 1- \log _{10} 2 }
なので、 n が動くときの不等式の範囲が重複し、その重複区間に整数があるか無いかを判定するのが面倒くさくなります。
この手の面倒臭さを避けるため、 k = n –m と置きます。すると、
99 \leqq m +k \log_{10} 2 < 100
整理して
\frac{99 -m}{\log_{10}2} \leqq k < \frac{100 -m}{\log_{10}2}
を得ます。今度は不等式間の重複がなくなりました。したがって、m が取り得る範囲を動くとき、m の値に対して不等式を満たす k の個数を求めてそれを足し合わせれば、求める個数が得られます。
方針が見えてきましたが、ここで1点、注意すべきことがあります。 k = n –m と置いた以上、 k と m は無関係ではありません。 n = k + m かつ、小問1の結果より 0 ≦ n ≦ 332 なので、
-m \leqq k \leqq 332-m
です。したがって、m が与えられたときの k の取りうる値の範囲は
\begin{aligned} & \max \left (\frac{99 -m}{\log_{10}2} , -m \right) \\ \leqq & k \\ \leqq &\min \left ( \frac{100 -m}{\log_{10}2} ,332-m \right) \cdots (1) \end{aligned}
です。2つ目の不等号に等号をつけるかどうか悩ましいところですが、手っ取り早く \displaystyle\frac{100 -m}{\log_{10}2} と 332 – m の大小の白黒をつけてしまいましょう。
\displaystyle\frac{100 -m}{\log_{10}2} のほうが小さそうなので、
\begin{aligned} & (332-m ) - \frac{100 -m}{\log_{10}2} \\ = & \frac{ 332 \log_{10}2 - m\log_{10}2 -100 +m }{\log_{10}2} \\ > & \frac{332 \times 0.301 -m \times0.3011 -100 +m }{\log_{10}2} \\ > & \frac{-0.068 + 0.6989m }{\log_{10}2} \\ \end{aligned}
と計算してみると、 m ≧ 1 のとき予想通り
\frac{100 -m}{\log_{10}2} < 332-m
であり、不等式(1) は
\begin{aligned} & \max \left (\frac{99 -m}{\log_{10}2} , -m \right) \leqq k < \frac{100 -m}{\log_{10}2} \end{aligned}
と変形できます。右側の不等号に等号は付きません。
m = 0 のときは小問1で見たとおり
332 <\frac{100}{\log_{10} 2}
なので、不等式(1) は
\frac{99}{\log_{10}2} \leqq k \leqq 332
と変形できます。右側の不等号に等号は付きます。
ついでに不等式(1) 左辺の \displaystyle\frac{99 -m}{ \log_{10}2 } と –m の大小をはっきりさせましょう。
0 ≦ m ≦ 99 のときはあきらかに
-m < \displaystyle\frac{99 -m}{ \log_{10}2 }
です。
100 ≦ m のとき、
\begin{aligned} & \frac{99-m}{\log_{10}2}- (-m)\\ = & \frac{99 -(1- \log_{10}2)m}{\log_{10}2} \\ > & \frac{99 -(1- 0.301)m}{\log_{10}2} \\ = & \frac{99 - 0.699m}{\log_{10}2} \end{aligned}
ですが、
\frac{99}{0.699} \fallingdotseq 141.6
なので、 100 ≦ m ≦ 141 のとき
\begin{aligned} & \frac{99-m}{\log_{10}2}- (-m)\\ > & \frac{99 - 0.699m}{\log_{10}2} \\ \geqq & \frac{99 - 0.699 \times 141}{\log_{10}2} \\ = & \frac{99 - 98.559}{\log_{10}2} > 0\\ \end{aligned}
であり、
-m < \frac{99-m}{\log_{10}2}\\
です。
一方 142 ≦ m のとき、
\begin{aligned} & \frac{99-m}{\log_{10}2}- (-m)\\ = & \frac{99 -(1- \log_{10}2)m}{\log_{10}2} \\ <& \frac{99 -(1- 0.3011)m}{\log_{10}2} \\ = & \frac{99 - 0.6989m}{\log_{10}2} \\ \leqq & \frac{99 - 0.6989 \times 142}{\log_{10}2} \\ = & \frac{99 - 99.2438}{\log_{10}2} <0 \end{aligned}
なので、
\frac{99-m}{\log_{10}2} < -m
です。
以上をまとめると、不等式(1) は m の値に応じて、
m = 0 のとき
\frac{99}{\log_{10}2} \leqq k \leqq 332
1 ≦ m ≦ 141 のとき
\begin{aligned} \frac{99 -m}{\log_{10}2} \leqq k < \frac{100 -m}{\log_{10}2} \end{aligned}
142 ≦ m のとき
\begin{aligned} -m \leqq k < \frac{100 -m}{\log_{10}2} \end{aligned}
と整理できます。
5の指数 m の取り得る値の範囲を求める
次に、 m が取り得る値の範囲を求めます。
最小値が0なのは明らかなので、最大値を求めます。
5^m < 10^{100}
を満たす m の最大値が求める値なので、先ほどのように
10^m 2^{-m} < 10^{100}
と変形し、両辺の常用対数を取って
m- m\log_{10}2 < 100
なので
m < \frac{100}{1 - \log_{10}2}
です。
log102 の近似値を利用して
143 < \frac{100}{1 - \log_{10}2} < 144
であることがわかるので、 m の取り得る値の範囲は
0 \leqq m \leqq 143
です。
k の個数を求める
m のとり得る範囲がわかったので、あとは m ごとに k のとり得る値の個数を数えて、それを足し合わせれば答えが出ます。
\frac{100 -m}{\log_{10}2} - \frac{99 -m}{\log_{10}2} = \frac{1}{\log_{10}2} \fallingdotseq 3.32
なので、 k の個数は m の値に応じて、3個か4個です。
これが具体的にいくつなのかは 99 – m の1桁目の値に応じて決まるので、最初は10パターン分計算してみようと考えましたが、よく考えてみると0 ≦ m ≦ 142 の範囲で m ごとの k の存在区間は切れ目なく重複無くつながります。すなわち、
\begin{aligned} \frac{99}{\log_{10}2} \leqq & k \leqq 332 & &(m=0) &\\ \frac{98}{\log_{10}2} \leqq &k < \frac{99}{\log_{10}2} &&(m=1)&\\ \frac{97}{\log_{10}2} \leqq &k < \frac{98}{\log_{10}2} &&(m=2) &\\ & \vdots \\ -\frac{42}{\log_{10}2} \leqq &k < -\frac{41}{\log_{10}2} &&(m=141) \\ -142 \leqq &k < -\frac{42}{\log_{10}2} && (m=142)\\ \end{aligned}
は重複無く単一の領域につながるので、 k の存在範囲は
-142 \leqq k \leqq 332 \\ \text{または} \\ -143 \leqq k < -\frac{43}{\log_{10}2}
となります。
最初の不等式の範囲に存在する整数 k の数は 475 個です。
2番めの不等式の範囲に存在する整数 k の個数は、
- \frac{43}{ \log_{10}2} < -142
なので1個です。
ゆえに求める個数は 476 個です。
小問2の解法ポイント
まず、 log105 が log102 で表されることに気がつくことが、重要な第1歩です。普通はそんなこと無理と思ってしまいがちですが、常用対数だということが効いています。
次に、
10^{99} \leqq 2^n5^m < 10^{100}
の常用対数を取って得られる不等式
99 \leqq m +(n-m) \log_{10} 2 < 100
から、本稿で示したように連続する区間内に存在する整数の個数を求める問題に帰着することが、次のポイントです。不等式の左辺、右辺の数の差が1であることから、 m だけを移行するといい感じに重複無く連続エリアが構成できるが、 m に log102 とかが掛かってしまうとうまく行かないことに気がつけるかどうかが、重要です。
これに気がつけなかった場合に
\frac{99 - n \log_{10}2}{1 -\log_{10}2} \leqq m < \frac{100 - n \log_{10}2}{1 -\log_{10}2}
などと変形してしまうと、隣り合うエリア
\frac{99 - n \log_{10}2}{1 -\log_{10}2} \leqq m < \frac{100 - n \log_{10}2}{1 -\log_{10}2}
と
\frac{99 - (n +1)\log_{10}2}{1 -\log_{10}2} \leqq m < \frac{100 - (n+1) \log_{10}2}{1 -\log_{10}2}
が重複してしまうので、重複区間
\frac{99 - n \log_{10}2}{1 -\log_{10}2} \leqq m < \frac{100 - (n+1) \log_{10}2}{1 -\log_{10}2}
に整数 m がいくつあるのかを数え上げる必要が出てきます。
ただし、重複エリアの区間長は正確に1なので、この区間に存在する整数は必ず1個です。これに気がつければ後は楽勝なので、こちらのアプローチで攻めるのも有りです。
本問の小問2は文系用としては異様に難しく、大学当局が文系のひとにも、理系と同等以上の数学的センスを求めている証左と言えるでしょう。受験生の皆さんは大変ですが、準備を怠らないようにしましょう。