问题描述
给定一个非负整数N,求N的阶乘N!末尾0的个数,例如N=10,N!=3628800,那么N!的末尾有两个0
输入格式
输入包括多行数据,每行一个非负整数N,0<=N<=100000
输出格式
对输入的每个N,输出N!末尾0的个数,多个输出之间换行。
输入样例
0
1
2
3
4
5
6
7
8
9
10
输出样例
0
0
0
0
0
1
1
1
1
1
2
【提示】
其实还有一种解题思路,是将阶乘求出判断0的个数,但是运算时间过长,不适合比赛和实际应用。
代码
while 1:
a = int(input())
c=0
if a<0 or a>100000:
print('error')
else:
for i in range(1,a+1):
while i%5==0:
c=c+1
i=i//5
print(c)