LeetCode 172. 阶乘后的零 (Factorial Trailing Zeroes)[简单]

lework · 2020年04月21日 · 最后由 lework 回复于 2020年04月21日 · 160 次阅读

给定一个整数 n,返回 n! 结果尾数中零的数量。

示例 1:

输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。

示例 2:

输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.

说明: 你算法的时间复杂度应为 O(log n) 。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution:
    def trailingZeroes(self, n: int) -> int:
        # 核心:数5,每个5会带来一个0,每个25会带来两个0,每个5^p会带来p个0
        i = 0
        f = 5
        while True:
            i += n//f
            if n//f==0:
                return i
                break
            f = f*5
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册