『高校生からの挑戦状Part13』解答


◆広島県 清川 育男 さんからの解答。

十進べーシック(1000桁モード)で求めてみました。
規則性がつかめません。

 FOR J=1 TO 9
    PRINT J;
    PRINT ")"
    LET  Z=0
    FOR I=1 TO 1000
       LET  X$=STR$(2^I)
       IF VAL(MID$(X$,1,1))=J THEN
          LET  Z=Z+1
          REM PRINT USING "#####":I
       END IF
    NEXT I
    PRINT USING "###":Z;
    PRINT "個"
 NEXT J
 END
1 ) 301個
2 ) 176個
3 ) 125個
4 ) 97個
5 ) 79個
6 ) 69個
7 ) 56個
8 ) 52個
9 ) 45個


◆宮城県 甘泉法師 さんからの解答。

(方針)

4 ≦ 2p
10q
< 5

自然対数をとって
0 ≦ (p‐2)ln2 - q ln10 < ln5‐2ln2

この式を満たす負でない整数qが1〜1000のpに対していくつ存在するかはコンピュータで確かめられます。


◆宮城県 甘泉法師 さんからの解答。

(方針2)

最高位がMがくるものに一般化すると

M ≦ 2p
10q
< M+1

2を底とする対数をとって
β≦ p - q α <γ

ここで
α=log210
β=log 2M
γ=log2 (M+1) .

よってxy平面上の4つの直線

y = αx + β 直線上を含む
y = αx + γ 直線上は含まない
y = 1 直線上を含む
y = 1000 直線上を含む

で囲まれた部分にある格子点の数が答。
数は作図で求められる。

(方針2追加)

おおよその数の検討をつけます。
線で囲まれた平行四辺形部分の面積と中の格子点の数はほぼ等しい。

よって
平行四辺形の底辺の長さ γ-β
α
= log 10(1 +1
M
) が最高位がMである数の割合の極限。
M 割合

1 0.301029996
2 0.176091259
3 0.124938737
4 0.096910013
5 0.079181246
6 0.06694679
7 0.057991947
8 0.051152522
9 0.045757491

清川さんの結果とよく一致します。

【コメント】

底は2でなくても任意の正の実数P、
指数kは1〜1000でなくても任意の続く自然数(N個)で、
PkをE進法であらわした最大の桁の数がMである割合は
N→∞の極限でlog E(1 +1
M
) となることがわかります。
かなり一般的な結果ですね。


◆愛知県 Y.M.Ojisan さんからの解答。

◆ 答え 97個

『2n/10mの解答より

10
1000
=1.024    −−−(1)
( 10
1000
) 98 =10.219...<1.024×10   −−−(2)

5×8=40 −−−(3)

を利用する。

をP mod 10 で10組に分類し 
mod値が  {2 5 8 1 4 7 0 3 6 9 12=2}である順に、
P={2 5 8 11 14 17 20 23 26 29 32}が同一行になるように始まりをずらしてならべる。下図参照。

Group{2}の系列は4から始まり(1)より1.024を公比として徐々に増加し何れ5を以上になるが、この時(3)により次のGroup{5}の系列が必ず4を先頭とする数になる。

以下繰り返しで一巡したら、Group{12=2}の系列に戻るが、
この時3×10=30乗分位置が少ない側にずれる。
また、(2)より1000乗までなら一巡で終わる。
従って97個である。

 説明より、下図を見る方がその構造が容易に理解できる。
実際の数値を計算(適当に10nで約分)しているが、97個を出すには一部を除き不用である。



【感想】
 2の特殊な部分を利用した大変綺麗な問題だと思いました。


◆大阪府 ゆたか さんからの解答。

対数は常用対数とします。 log2=0.30102…より、
log2999=300.7… , log21000=301.0…

よって、2999は301桁、21000は302桁の数です。

今、20,21,22,・・・,21000を桁数によってグループ分けします。

つまり、
(1桁のグループ)1,2,4,8
(2桁のグループ)16,32,64
(3桁のグループ)128,256,512
(4桁のグループ)1024,2048,4096,8192

    ・
    ・
    ・

(301桁のグループ)・・・,2998,2999
(302桁のグループ)21000

となります。

各グループにおいて最高位の数字の推移を調べると、次のことがわかります。

(T)グループの先頭の数の最高位は「1」である。

(U)「1」のあとは、直前の項の2倍か2倍+1の数が最高位となる。
(理由)直前の数を2倍したときに下位で繰上りがなければ最高位は2倍になり、
    繰上りがあれば最高位は2倍+1となる。

(V)最高位が「5」以上になると、そのグループの末項となる。

これらのことから、グループにおける最高位の数字の推移は次のいずれかのパターンになります。

1−2−4−8
1−2−4−9
1−2−5
1−3−6
1−3−7

よって、グループの項数は3または4となります。
さらに、最高位が「4」の数は項数が4のグループにのみ現れることがわかります。

そこで、301桁のグループまでで、項数が4のグループ数をXとし、項数が3のグループ数をYとします。
グループは301個ありますから、
   X+Y=301 ・・・(1)

また、20から2999までの項の総数は1000だから
(21000は次のグループ)、

   4X+3Y=1000 ・・・(2)

(1),(2)を解くと、X=97,Y=204となります。
最高位が「4」の数の個数はXに等しいので97個が答えです。

この解法は最高位が「4」の数にしか通用しませんね。
しかし、例えば次のようなこともわかります。


◆京都府 大空風成 さんからの解答。

X=21000として、両辺の底を10とする対数(常用対数として以下底を省略)をとると、
logX=1000log2=301.0・・・ (log2=0.3010・・・だから)
よって X=10301.0・・・
ゆえに 10301<21000<10302 だから、21000は302桁の数で ある。
また、Y=2999として同様に、
logY=999log2=300.6・・・ 
よって Y=10300.6・・・
ゆえに 10300<2999<10301となるから、2999は301桁の数で ある。

nの最高位が1である数を2倍すると、最高位が2、3のいずれかの数になる。
nの最高 位が2、3である数を2倍すると、最高位が4または5、6、7のいずれかの数になる。
nの最高位が4で ある数を2倍すると、最高位が8、9のいずれかの数になる。
nの最高位が5、6、7、8、9である数を2倍すると、一桁増えて最高位が1の数になる。
したがって、2nの同じ桁数の数は、
最高位が1の数が1つ、2、3のいずれかの数が1つ、5、6、7、8、9のいずれかの数が1つ、
つまり、最高位が4以外の数になる場合が必ず3つあることが分かる。
さらに、2999は301桁、21000は302桁だから、21000の最高位は1であること も分かる。

以上のことより、 2nの2桁以上301桁以下の数の中にある最高位が4以外の数の個数は、
(301-2+1)×3=900(個)
である。これに、1桁の数の21、23、302桁の数の21000を加えると、903個に なる。
よって、最高位が4の数は、1000-903=97

(答) 97個

(別解)

k、nを自然数として、最高位が1になるのは、
10k≦2n<2×10k・・・(1)
の場合である。各辺の10を底とする対数(常用対数として底を省略)をとると、
k≦n×log2<log2+k・・・(2)

よって、 k
log2
≦n<1+ k
log2
この幅は1で、 1
log2
1 だから、
最高位が1になる数は、どの自然数kに対してもただ1つずつある。

(1)の各辺を2倍して、n+1をnと置き換えると、
2×10k≦2n<4×10k
よって、最高位が2、3のいずれかになる数は、どの自然数kに対してもただ1つずつある。
(1)の各辺を2で割って、k-1をk、n-1をnに置き換えると、
5×10k≦2n<10k+1
よって、最高位が5、6、7、8、9のいずれかになる数は、どの自然数kに対してもただ1つずつある。

以上のことより、 10k≦2n<10k+1 のどの自然数kに対しても、
2nの最高位が4以外の数になるものが、3つある。

(2)で、n=1000、log2=0.3010・・・とすると、
k≦301.0・・・<k+0.3010・・・ となるから、k=301
よって、(1)で、 10301≦21000<2×10301

したがって、k=1〜300に対して、最高位が4以外になるのは、300×3=900(個)
k=0の場合の21、23、k=301の場合の21000を合わせて、903(個)
ゆえに、最高位が4になるのは、1000-903=97(個)


 『高校生からの挑戦状Part13』へ

 数学の部屋へもどる