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