第382問の解答


問題[整数の性質 (場合の数)]

問題図 左図のように、からnまでの整数を全部掛け算すると(n!=n階乗)、末尾にいくつかが続きます。

では、以上1000以下の整数の中で、末尾に続く0の個数なることができないものはいくつあるでしょうか。


解答例1

マサルさん、Taroさん、CRYING DOLPHINさん、もありすさん、那由他さん、sugitakukunさん、シンクロさん、拓パパさん、小西孝一さん、ミミズクはくず耳さん、小学名探偵さん、ちこりんさん、M.Hossieさん、ポケモンハルカさん、 他多数

10×素因数分解できますので、n!で末尾に続く0の個数は、n!に含まれる5の個数を数えることになりますが、2の個数5の個数よりもはるかに多いので、5の個数だけ調べればいいことになります。

参考図1

上表より、から順に整数掛け合わせていくと、5の倍数が現れるたびに1個ずつ5の個数が増えていきます。
ただし、25の倍数125の倍数のように複数個因数として持つ整数のときは、累計個数として表せない整数が発生します。(kの倍数のときにk-1個)  ・・・ (1)

このまま地道に数えていくのも一つの方法ですが、いずれにしてもn!にある5の個数Nとします)が1000以上となるnをまず調べてみましょう。

参考図2

n!に含まれるkの倍数の個数をNkとします。
 Nk=[n/
k] (ただし、[]は、整数部分を表す)
と表されます。

=15625となるので、5の倍数までを数えればいいことが分かります。
上図で横方向に数えていけば、
 N=N1N2N3N4N5
となります。

これは、縦方向に数えていくと、
 N=(N1N2)×1+(N2N3)×2+(N3N4)×3+(N4N5)×4+N×5
  =N1N2N3N4N5
となることからも分かります。

Nk≒n/k(誤差は1より小)なので、
 Nn/
1n/2n/3n/4n/5
  ≒n/
1×1/(1−1/5
  =n/

よって、N≧1000となるのは、n≒1000×4=4000と分かります。
さて、n4000のとき、
 N1
=[4000/5]=800、N2=[4000/25]=160、N3=[4000/125]=32、
 N4
=[4000/625]=6、N3=[4000/3125]=1 
より、N=800+160+32+6+1=999個

またn4005のとき、
 N1
=[4005/5]=801、N2=[4005/25]=160、N3=[4005/125]=32、
 N4
=[4005/625]=6、N3=[4005/3125]=1 
より、N=801+160+32+6+1=1000個となります。

さて、(1)より、1000までの整数5の累計個数ならないものの個数n'とすると、
 n'N2N3)×1+(N3N4)×2+(N4N5)×3+N×4
  =N2N3N4N5
  =160+32+6+1
  =199個
と求まります。

これは、1000までに現れる5の累計個数パターンが、N1801個ということから、
 n'NN1=1000−801=199個
とも計算できます。

答: 199個

以上


(その他の解法)