LeetCode 172. 阶乘后的零 Factorial Tr

作者: 1江春水 | 来源:发表于2019-08-20 16:53 被阅读0次

    【题目描述】
    给定一个整数 n,返回 n! 结果尾数中零的数量。
    【示例1】

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

    【示例2】

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

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

    【思路】
    1、要想末尾为0,必须25 ,45也可写成225
    2、说确切点 就是求0-n中5的个数
    3、例 n=25,5 10 15 20 25=5*5,共6个5

    代码实现:

    func trailingZeroes(_ n: Int) -> Int {
        var tmpN = n
        var res = 0
        while tmpN >= 5 {
            res+=tmpN/5
            tmpN/=5
        }
        return res
    }
    

    相关文章

      网友评论

        本文标题:LeetCode 172. 阶乘后的零 Factorial Tr

        本文链接:https://www.haomeiwen.com/subject/oqnpsctx.html