回答編集履歴
2
日本語の修正
test
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
ある数の末尾に0が何個つくか、というのは
|
2
2
|
10で何回割れるかです。
|
3
|
-
というのは「ある数」を素因数分解して、2と5のペアが何個あるかで
|
3
|
+
10で何回割れるかというのは、「ある数」を素因数分解して、2と5のペアが何個あるかで、
|
4
|
-
言い換えると、2と5のうち少ない方の個数です。
|
4
|
+
さらに言い換えると、2と5のうち少ない方の個数です。
|
5
5
|
|
6
6
|
「ある数」がNの階乗のときは、1,2,3,...,Nをそれぞれ素因数分解したときに、2と5のそれぞれの合計のうち少ない方の個数です
|
7
7
|
|
1
追記
test
CHANGED
@@ -10,4 +10,12 @@
|
|
10
10
|
|
11
11
|
なので5の数を数えればいいことになります。
|
12
12
|
|
13
|
+
で、1からNまでの素因数に5が何個あるかの数え方ですが、
|
14
|
+
解答例では5の倍数の個数、25の倍数、125の倍数、…の合計を数えています。
|
13
15
|
|
16
|
+
とりあえず5の倍数の個数を考えると
|
17
|
+
5個おきに出現するので N//5 個になります。
|
18
|
+
次に25の倍数ですが、これは先程のN//5個の中から5個おきに出現します。(分かりにくかったら適当にN=50とかを思い浮かべてください)
|
19
|
+
|
20
|
+
125以降も結局同じ手順になりますので、
|
21
|
+
解答例のコードで5の個数を数えられます。
|