0
高校数学解説
文献あり

対数を使わずに桁数を求める

1807
0
$$$$

この記事では長すぎる数式が連発します。スマートフォンなど画面幅が狭い端末では読みにくくなっておりますが、ご容赦ください。

はじめに

数学Ⅱの対数分野でよく見る問題として、次のようなものがあります。

$24^{10}$の桁数を求めよ。ただし、$\log_{10}2=0.3010,$ $\log_{10}3=0.4771$とする。

この問題、数学好きからするとツッコみたくなる部分があります。

$\log_{10}2=0.3010,$ $\log_{10}3=0.4771$

とありますが、$\log_{10}2$$\log_{10}3$は無理数であり実際は有限小数で表せません。このような良くない書き方を回避するため、桁数系の問題を対数を使わずに解こうと思います。なお、この記事では常に数を十進法で表現するものとします。

方針

$24^{10}$の値を具体的に計算して桁数を求める、ということも不可能ではないですが、さすがに時間がかかりすぎますし計算ミスも起こりやすくなります。そこで、不等式を使いましょう。
例えば整数$N$$3\times10^{10}< N<7\times10^{10}$を満たせば、$N$$11$桁であると分かります。このような評価をするにあたっては、愚直に計算するよりはマシなもののいくらかの累乗計算が必要です。$24^{10}=2^{30}\times3^{10}$の場合であれば$2^{30}$$3^{10}$くらいは正確な値を出しておきたいものですが、これほどの数をいちいち計算するのは少々手間がかかります。ではどうするか。
計算できないなら暗記してしまえ。

累乗数の暗記

よく使う累乗数は暗記しておくに越したことはありません。多くの人は$2^1\sim2^{10}$や平方数くらいなら覚えているでしょうから、もっとたくさん覚えましょう。
$$2^{11}=2048\quad2^{12}=4096\quad2^{13}=8192\quad2^{14}=16384\quad2^{15}=32768$$
$$2^{16}=65536\quad2^{17}=131072\quad2^{18}=262144\quad2^{19}=524288\quad2^{20}=1048576$$
$$2^{24}=16777216\quad2^{30}=1073741824\quad2^{32}=4294967296\quad2^{40}=1099511627776$$
$$2^{64}=18446744073709551616\quad2^{100}=1267650600228229401496703205376$$

$$3^5=243\quad3^6=729\quad3^7=2187\quad3^8=6561\quad3^9=19683\quad3^{10}=59049$$
$$3^{20}=3486784401\quad3^{27}=7625597484987$$

$$5^5=3125\quad5^6=15625\quad5^7=78125\quad5^8=390625\quad5^9=1953125\quad5^{10}=9765625$$
$$6^5=7776\quad6^{10}=60466176\quad7^5=16807\quad7^{10}=282475249$$
これだけ覚えておけば大抵の問題には対応できるかと思います(むしろオーバーキルかも)。ということで、早速問題1を解いてみましょう。

問題1の解答

解答 (問題1)

$24^{10}=2^{30}\times3^{10}=1073741824\times59049$なので、
$(1\times10^9)\times(5.9\times10^4)<24^{10}<(1.1\times10^9)\times(6\times10^4)$
$5.9\times10^{13}<24^{10}<6.6\times10^{13}$
よって$24^{10}$$14$桁。

実際に計算機で計算してみると$24^{10}=63,403,380,965,376$となり、正しいことが分かります。さて、ここからは実際に大学入試の問題に挑戦します。以降の問題の参照元は参考文献欄に記載しています。

より大きい数

福岡大学2012年 人文・法・商学部 数学第1問(2); 参考文献[1]

$a=3^{96}$のとき、$\sqrt[3]a$    桁の整数である。また、$\dfrac1{\sqrt a}$は、小数第     位に初めて$0$でない数が現れる。ただし、$\log_{10}3=0.4771$とする。

$2$つ目の空欄は桁数ではなく小数首位(入試問題を調べて初めて名称を知りました)を問う問題ですが、同様の方法で考えることができます。即ち、正整数$m$と実数$N$$$10^{-m}\leqq N<10^{-(m-1)}$$を満たせば$N$は小数第$m$位に初めて$0$でない数が現れる数であることが分かります。まずは$1$つ目の空欄から埋めます。

解答 (問題2 空欄1)

$\sqrt[3]a=3^{32}$であり、$3^{32}=3^5\times3^{27}=243\times7625597484987$
よって、
$3^{32}>2.4\times10^2\times7.5\times10^{12}=1.8\times10^{15}$
および
$3^{32}<2.5\times10^2\times8\times10^{12}=2\times10^{15}$
から$\sqrt[3]a$$16$桁の数であると分かります。

次が本題です。

解答 (問題2 空欄2)

$\sqrt a=3^{48}$であり、
$3^{48}=3\times3^{20}\times3^{27}=3\times3486784401\times7625597484987$
よって、
$3^{48}>1.04\times10^{10}\times7.5\times10^{12}=7.8\times10^{22}$
および
$3^{48}<1.05\times10^{10}\times8\times10^{12}=8.4\times10^{22}$
から$\dfrac{10}{8.4}\times10^{-23}<\dfrac1{\sqrt a}<\dfrac{10}{7.8}\times10^{-23}$であるので$\dfrac1{\sqrt a}$は小数第$23$位に初めて$0$でない数が現れると分かります。

より高い精度

京都大学2019年 文系数学第1問; 参考文献[2]

$8.94^{18}$の整数部分の桁数は何桁か。また最高位からの$2$桁の数字を求めよ。例えば、$12345.6789$の最高位からの$2$桁は$12$を指す。

この問題がノーヒントで出されていたら今回扱うような不等式評価による方法しか使えないでしょうが、さすがに実際はノーヒントではなく、常用対数表が与えられました。また、表の下部には「小数第$5$位を四捨五入し、小数第$4$位まで掲載している。」との旨が書いてあります。この時点で「無理数であるはずの対数の値を有限小数とイコールで結ぶのは許せないから」という建前大義名分は崩れますが、とにかく対数表は使わずに解きます。

さて、今までと違って$894$は小さい素数の積で書けません($2\times3\times149$と素因数分解される)。$a<8.94< b$を満たす$a,b$でいい感じのものを探ろうとしてもうまくいきません。割と近そうな$9^{18}$でも、最高位からの$2$桁の数字が$8.94^{18}$のそれに一致するとは思えません(実際異なります)。そこで今回は二項定理を使ってみます。

二項定理による評価

二項定理について復習しておきます。

二項定理

正整数$n$と実数$a,b$について$(a+b)^n=\displaystyle\sum_{k=0}^n{}_nC_ka^{n-k}b^k$
ここで、二項係数${}_nC_k$${}_nC_k=\dfrac{n!}{k!(n-k)!}$により定める。

例えば$1.03^5$の値を計算する際に
$$1.03^5=1^5+5\cdot1^4\cdot0.03^1+10\cdot1^3\cdot0.03^2+\dots=1.1592740743$$
のように使うことができます。では$1.03^{20}$がどれくらいの値になるか調べるにはどうすればいいでしょうか。下からの評価は比較的容易でしょう。$k=0,1,2,\dots,20$の全てについて${}_{20}C_k\cdot1^{20-k}\cdot0.03^k$は正ですから、
\begin{align*} 1.03^{20}&=\sum_{k=0}^{20}{}_{20}C_k\cdot1^{20-k}\cdot0.03^k>\sum_{k=0}^{2}{}_{20}C_k\cdot1^{20-k}\cdot0.03^k\\ &=1+20\cdot0.03+190\cdot0.0009=1.771 \end{align*}
対して上からの評価は少々厄介そうです。$k$が増えると$0.03^k$の項がどんどん小さくなっていくので、直感的には$1.03^{20}$$1.771$は近そうですね。この感覚を式で表してみましょう。$a_k={}_{20}C_k\cdot1^{20-k}\cdot0.03^k$とおくと、$2$以上$20$未満の整数の$k$に対して
\begin{align*} \frac{a_{k+1}}{a_k}&=\frac{\dfrac{20!}{(k+1)!(19-k)!}\cdot0.03^{k+1}}{\dfrac{20!}{k!(20-k)!}\cdot0.03^k}=\frac{k!}{(k+1)!}\cdot\frac{(20-k)!}{(19-k)!}\cdot\frac{0.03^{k+1}}{0.03^k}\\ &=\frac{20-k}{k+1}\cdot0.03=\left(\frac{21}{k+1}-1\right)0.03\leqq\left(\frac{21}{2+1}-1\right)\cdot0.03<\frac15 \end{align*}
が成り立ちます。つまり、二項定理による$(1+0.03)^{20}$の展開式の第$(k+1)$項は第$k$項の高々$\dfrac15$倍ということになります。よって、

\begin{align*} 1.03^{20}&=\sum_{k=0}^{20}a_k=a_0+a_1+a_2+a_3+a_4+\dots+a_{20}\\ &< a_0+a_1+a_2+\frac15a_2+\frac1{5^2}a_2+\dots+\frac1{5^{18}}a_2\\ &< a_0+a_1+\sum_{n=0}^\infty\frac1{5^n}a_2=1+0.6+0.171\times\frac54=1.81375 \end{align*}
以上の議論から$1.771<1.03^{20}<1.81375$が示されました。

問題3の解答

本問に出てくる$8.94^{18}$も、$(9-0.06)^{18}$と見ることにより二項定理が適用しやすい形になります。$(1+0.03)^{20}$のときと同様に評価できれば良いのですが、
$$\sum_{k=0}^{18}{}_{18}C_k\cdot9^{20-k}\cdot(-0.06)^k=9^{18}-18\cdot9^{17}\cdot0.06+153\cdot9^{16}\cdot0.06^2-\cdots$$
の項はすべて正というわけではないため、最初の数項で打ち切ったもので下あるいは上から抑えられるのは明らかではありません。ということで、上下からの評価はどちらも項の比を考える方法を使います。

解答 (問題3)

$0$以上$16$以下の整数の$k$に対して$a_k={}_{18}C_k\cdot9^{18-k}\cdot(-0.06)^k$とおくと、
\begin{align*} \frac{a_{k+2}}{a_k}&=\frac{\dfrac{18!}{(k+2)!(16-k)!}\cdot9^{16-k}\cdot(-0.06)^{k+2}}{\dfrac{18!}{k!(18-k)!}\cdot9^{18-k}\cdot(-0.06)^k}=\frac{k!}{(k+2)!}\cdot\frac{(18-k)!}{(16-k)!}\cdot\frac{9^{16-k}}{9^{18-k}}\cdot\frac{(-0.06)^{k+2}}{(-0.06)^k}\\ &=\frac{(18-k)(17-k)}{(k+1)(k+2)}\cdot\frac1{22500} \end{align*}
が成り立つので$a_k$は単調減少します。$k$が偶数のとき$0< a_k$なので、
\begin{align*} 8.94^{18}&=\sum_{k=0}^{18}a_k< a_0+a_1+a_2+a_4+a_6+\cdots+a_{18}\\ &=a_0+a_1+a_2+\frac1{1125}a_1+\frac1{1125}\cdot\frac{91}{337500}a_1+\cdots\\ &< a_0+a_1+a_2+\frac1{1125}a_2+\frac1{1125^2}a_2+\cdots+\frac1{1125^8}a_2\\ &< a_0+a_1+\sum_{k=0}^\infty\frac1{1125^k}a_2=a_0+a_1+\frac{1125}{1124}a_2\\ &=9^{18}-18\cdot9^{17}\cdot0.06+\frac{1125}{1124}\cdot153\cdot9^{16}\cdot0.06^2\\ &=9^{18}\left(1-2\cdot0.06+\frac{1125}{1124}\cdot17\cdot0.0004\right)=531441^3\left(0.88+\frac{765}{112400}\right)\\ &<\left(\frac{16}3\right)^3\times10^{15}(0.88+0.006906\dots)<\frac{4096\cdot0.887}{27}\times10^{15}\\ &<1.34562\times10^{17} \end{align*}
$k$が奇数のとき$a_k<0$なので、
\begin{align*} 8.94^{18}&=\sum_{k=0}^{18}a_k< a_0+a_1+a_2+a_3+a_5+a_7+\cdots+a_{17}\\ &=a_0+a_1+a_2+a_3+\frac7{15000}a_3+\frac7{15000}\cdot\frac{13}{78750}a_3+\cdots\\ &>a_0+a_1+a_2+a_3+\frac7{15000}a_3+\left(\frac7{15000}\right)^2a_3+\cdots+\left(\frac7{15000}\right)^7a_3\\ &>a_0+a_1+a_2+\sum_{k=0}^\infty\frac1{2142^k}a_3=a_0+a_1+a_2+\frac{2142}{2141}a_3\\ &=9^{18}-18\cdot9^{17}\cdot0.06+153\cdot9^{16}\cdot0.06^2-\frac{2142}{2141}\cdot816\cdot9^{15}\cdot0.06^3\\ &=9^{18}\left(1-2\cdot0.06+17\cdot0.0004-\frac{238}{2141}\cdot272\cdot0.000008\right)\\ &=531441^3\left(0.8868-\frac{517888}{2141000000}\right)>5.3^3\times10^{15}\cdot0.886558\\ &=1.48877\cdot0.886558\times10^{17}>1.48\cdot0.88\times10^{17}=1.3024\times10^{17} \end{align*}
以上より$1.3\times10^{17}<8.94^{18}<1.4\times10^{17}$なので、$8.94^{18}$の整数部分の桁数は$17$桁で最高位からの$2$桁の数字は$13$です。

かなり複雑になりましたが、手計算の範囲で証明することができました。

まとめ

以上のように、対数を用いて桁数を計算する問題の多くは対数を使わなくても答えを出すことができます。しかしそれも万能ではなく、次のような問題は今回の手法の苦手とするところです。

京都大学2016年 文系数学第2問; 参考文献[2]

ボタンを押すと「あたり」か「はずれ」のいずれかが表示される装置がある。「あたり」の表示される確率は毎回同じであるとする。この装置のボタンを$20$回押したとき、$1$回以上「あたり」の出る確率は$36\%$である。$1$回以上「あたり」の出る確率が$90\%$以上となるためには、この装置のボタンを最低何回押せばよいか。必要なら$0.3010\!$$<\!$$\log_{10}\!$$\!2\!$$<\!$$0.3011$を用いてよい。

この問題のように、$a$を何乗すると$b$に達するかという形の問題で対数の値を使わずに答えを出す方法は今のところ思いついていません(二分探索すればできるでしょうがさすがに非効率的)。よい方法を思いついたら追記します。
また、当然のことながら対数を使って順当に計算した方がはやくて確実ですし、対数を使わないことで試験等で有利になりはしません。ですが、時間に余裕ができたときはこの方法で解答してみるのも一興ではないでしょうか。

参考文献

投稿日:2023528
OptHub AI Competition

この記事を高評価した人

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

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

バッジはありません。

投稿者

コメント

他の人のコメント

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