算法: 0的个数为 n/5+n/25+n/125+n/(5^i)
'''
求一个数的阶乘末尾有多少个0要求:大于或等于0小于10000的整数
2.输入非数字或者超过范围,则退出程序
用例:
输入 输出
'5' '5! have 1 zero'
'e' 'e is not a number'
'10000' '10000 is Overflow number'
'''
class Demo:
def factorial(self, input):
try:
num=(int)(input)
if(num<0 or num>=10000):
result = input+' is Overflow number';
else:
five=5;
ret=0;
while five<=num:
ret=ret+num/five;
five=five*5;
ret=int(ret)
result = input+'! have '+str(ret)+' zero'
return result
except:
return input+' is not a number'