1から2007までかけたとき、一の位から0が何個連続するか

 東大合格者が多いですよって中学の入試問題?で「1から2007までかけたとき、一の位から0が何個連続するか」ってのを、タケシさんと安住さんが出ているニュース番組で紹介していた。のでちょっと考えてみた。


 って証明の足がかりと、答え自体は番組で言っていたんだけど素因数分解を使うとのこと。
一の位、十の位、百の位と0が続くって事は、それは10をかけている事である。
ので、10について考えると10は[2,5]に素因数分解できるので、結局は1から2007までの2と5の素数のセットが何組含まれているかに帰結する。


で、番組では回答として「5の素数にだけ注目した解法」*1を紹介していたので、2の素数については良いの?とか思ったけど、アホラシイ^^;


そら、整数において5の倍数より、2の倍数が多いでしょうから


 \begin{eqnarray} \prod_{k=1}^{2007} k &=& 2^a \times 3^b \times 5^c \cdots \\ &=& (a,b,c,\cdots) \end{eqnarray}


とき、


 a > c


ですね。そりゃね。

例示

まず、素因数分解した1から20までの素因数分解表を示すと

 1,\\2,\\3,\\2\cdot2,\\5,\\2\cdot3,\\7,\\2\cdot2\cdot2,\\3\cdot3,\\2\cdot5,\\11,\\2\cdot2\cdot3,\\13,\\2\cdot7,\\3\cdot5,\\2\cdot2\cdot2\cdot2,\\17,\\2\cdot3\cdot3,\\19,\\2\cdot2\cdot5


こんな形ですね。


\prod_{k=1}^{n} k


で、n=14の場合は、14までに5の素数が2個ですから下二桁が0がでしょう。

(1..14).inject(1){|s,n| s*n} //=>87178291200


はい、***00で、連続する0は2個ですね。


では、n=16の場合は、5の素数が3個ですから下三桁が0がでしょう。

(1..16).inject(1){|s,n| s*n} //=>20922789888000


こちらも、***000で、連続する0は3個です。


まあここまでは、例示ですから数えたらおしまいですが、問題は

ある数nまでに含まれる素数pの個数を求める方法は?

ですね。


 で、これについてはある整数sを素因数分解したときの素数pの個数を導出できる関数F(p,s)があるものと仮定して考えて見ます。

F(3,9) = 2みたいな感じです。



F(p, \prod_{k=1}^{p \cdot p -1} k) = p-1

F(p, \prod_{k=1}^{p \cdot p} k) = p+1


 この辺は上記の素因数分解表で、素数3の場合を見ると確認できます。8までに含まれる素数3の数は2個ですが、9までに含まれる素数は4個ですね。
まあ、p,2p,3p,\codts,ppですから、p^2の時点で素数pの数がp+1個は自明ですね。
じゃあ、p^3までには、上記のp,2p,3p,\cdots,ppのセットがp個あるからp(p+1)+1個で
お次は、p^4までには、上記のp,2p,3p,\cdots,ppのpセットがp個あるからp(p+1)+1個で
または、p^5までには、上記のp,2p,3p,\cdots,ppのppセットがp個あるからp(p(p+1)+1)+1個か
そのまた、次はって、どないせいちゅうねん( ゚Д゚)∂ボケ



って、感じで考えてたけど、上手い証明思いつかない。やだ、もう寝る(・_・、)


 しかし、これは明らかに数学*2の範疇の問題だけど、これを中学入試に出して解かせるってのは、私が馬鹿なのか中学が狂ってるのかw;

*1:商が0になるまで5で割って0になったとき、それまでの商をたす

*2:数論だね*w*