剑指offer

172. 阶乘后的零

2020-04-16  本文已影响0人  人一己千

题目

给定一个整数 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解法

0的来源是10的乘积----分析质因数中有多少10---分析质因数中有多少5(2太多了)---- 有好多5 ----5是5的倍数的全部加进来,再加5的平方...---- n//5+n//25+n//125...

代码

class Solution:
    def trailingZeroes(self, n: int) -> int:
        ans = 0
        while n >= 5:
            n //= 5
            ans += n
        return ans
上一篇下一篇

猜你喜欢

热点阅读