9219
ヒント1と0といえば・・・
受験をひかえている高校三年生がいたら
ぜひチャレンジしてみてください。
(特にT大やK大の理系を目指そうなんて方は)
解説1,10,11,100,101,110,111,1000,・・・
まず、これが2進法で1,2,3・・・と順に並べた数列だと言う事に気づいたでしょうか?
これがわかればあとは数列の問題として処理すればいいんです。
もちろん、0が10個並ぶまで書きだしてみても良いでしょう。(時間はかかりますが・・・)
ここでは高校生で習う解き方で解いてみます。
まず、以下のように各数ごとに区切って見やすくします。
そうすればある程度法則性もみえてきます。
まず、0が1つ初めて並ぶのは10すなわち十進法で2(2の1乗)のときである。
つぎに0が2つ初めて並ぶのは100すなわち十進法で4(2の2乗)のときである。
よって0がn個初めて並ぶのは2のn乗のときである。
(2のn乗で初めて0がn個並ぶというのは明らかなのであえて証明は省く)
つぎに2のn乗のひとつ前の数は(2^n)-1であり11111・・・1のように1がn個並んで
できる数字であることにも気づくでしょう。
この1がn個並んでいるところまでの全て数字各桁の1,0の個数の合計をSnと定義する。
1 →S1
10
11 →S2
100 =2^2
101
110
111 →S3
1000 = 2^3
1001
1010
1011
1100
1101
1110
1111 →S4
10000 =2^4
・
・
・
11111・・・1 → Sn
10000・・・00 =2^n
そうすればS10+2が求めたい値である。
ここでSnを求めていく。
2進数の桁数ごとにグループ化して足しあわせていくと
Sn=1*2^0+2*2^1+3*2^2+4*2^3+・・・+n*2^(n-1) −−−?
と表すことが出来る。
ではこれを簡単な形に直していく。
両辺に2を掛けて
2Sn= 1*2^1+2*2^2+3*2^3+・・・+(n-1)*2^(n-1)+n*2^n −−−?
ここで?-?をすると
-Sn=1+2+2^2+2^3+・・・+2^(n-1)-n*2^n
Sn=n*2^n-(1+2+2^2+・・・+2^(n-1))
=n*2^n-Σ2^(n-1)
=n*2^n-(2^n)+1
={(n-1)2^n}+1
すなわち
Sn={(n-1)2^n}+1
より
S10+2=9*2^10+3
=9219
となります。
ちなみに初めて0がn個並ぶのは何番目からか?
という問題の一般解は
{(n-1)2^n}+3
です。
※もっとスマートな解法を見つけた人は教えてください。