题目描述:
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
解题思路:
由于时间logn,所以算到n的阶乘肯定会超时,由于尾数中的0只有可能从2,5中得到,而2的次数肯定比5多,所以只要找5的次数即可,由于25提供两个0,125提供3个0,所以不断去除以5,直到n为0为止。
class Solution:
def trailingZeroes(self, n: int) -> int:
count=0
while n!=0:
n=n//5
count+=n
return count