最近在做leetcode题目,小白开始慢慢做吧。今天碰到的题是Factorial Trailing Zeroes。也就是看阶乘之后有几个0。由于5的倍数有1个0(乘以1个2),25的倍数有2个0(乘以4),125的倍数有3个0,(乘以8)。所以能看到的是5的n次方有n个0。所以依次筛选5的倍数,25的倍数。。。依次想加就能得到最后的结果。
def trailingZeroes(n):
if n <= 4:
return 0
sum = 0
i = 1
while(5 ** i <= n):
sum = sum + n / (5 ** i)
i = i + 1
return sum