给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
别人的解答:
(注释掉的代码运行超时了)
class Solution(object):
def trailingZeroes(self, n):
"""
:type n: int
:rtype: int
"""
# s, count = 1, 0
# while n > 0:
# s *= n
# n -= 1
# if s%10 == 0:
# s /= 10
# count += 1
# return count
res = 0
while n :
n //= 5
res += n
return res
评论区的分析: