いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

対数を使って2の1000乗の桁数を求められるか

f:id:Inuosann:20200219230311p:plain

常用対数をとると

f:id:Inuosann:20200219233135p:plain

高校では対数のところで出てくる問題です。

f:id:Inuosann:20200219230538p:plain

として答えなさい、などと但し書きがあります。これは近似値ですからもちろん真の値とは異なり、mによっては桁数に誤りが出る可能性があります。たいていはm=30とかm=50程度なので問題ないのですが、ではmがどの程度になると危ないのでしょうか。mがある程度以上になると

f:id:Inuosann:20200219233235p:plain
の差が大きくなるわけです。

 

f:id:Inuosann:20200219233317p:plain

であるとします。各辺をm倍して

f:id:Inuosann:20200219233401p:plain
を得ますから、さっきの★を考えて k≦maかつmb≦k+1となる自然数kがあればk+1桁に確定、となります。つまりmb-1≦k≦ma、すなわち mb ≦ k+1 ≦ ma+1 が成立すればk+1桁となります。これは十分条件であって、不成立だから桁数を求められない、と断言はできません。念のため。

 さて、

f:id:Inuosann:20200219230947p:plain

ということですから、a=0.30095、b=0.30105とおきましょう。
0.30095m ≦ k+1 ≦ 0.30105m+1 であればk+1桁に確定です。あとはmに具体的な値を入れて、その式を満たすkがあるかどうか確認すればよいのです。例えばm=200とすると 60.21 ≦ k+1 ≦ 61.1 で、kは定まります。だからこのときは桁数は正確に求まります。しかしm=1000とすると 301.05 ≦ k+1 ≦ 301.95 となってkがありません。つまり1000乗の時は正しい桁が計算できるかどうか不明、ということになります。

 以上、ある程度結果を出したのでまとめておきます。