1、暴力 (超时)
class Solution:
def trailingZeroes(self, n: int) -> int:
# 0乘任何数都为0 暴力 O(n)
res, count = n, 0
while n>1:
n = n-1
res = res*n
while mod(res,10)==0:
count += 1
res = res // 10
return count
2、计算乘以10的次数
class Solution:
def trailingZeroes(self, n: int) -> int:
# 计算成了多少个10即可(2*5)
# 2的数量远远多于5,只计算5的数量即可
count = 0
# 1、每隔5步计算一次
# for i in range(5,n+1,5):
# while mod(i,5)==0:
# count += 1
# i = i//5
# 2、出现5的次数即为可整除5的次数
while n>4:
count += int(n//5)
n /= 5
return count