回答編集履歴

2

日本語の修正

2023/03/19 06:31

投稿

ozwk
ozwk

スコア13551

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

追記

2023/03/19 06:25

投稿

ozwk
ozwk

スコア13551

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の個数を数えられます。