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