您的位置:首页 > 大数据 > 人工智能

Leet Code OJ 172. Factorial Trailing Zeroes [Difficulty: Easy]

2016-03-07 12:24 423 查看
题目:

Given an integer n, return the number of trailing zeroes in n!.

Note: Your solution should be in logarithmic time complexity.

翻译:

给定一个整数n,返回n!末尾的0的个数。

提示:你的解决方案应该运行在O(log(n))的时间复杂度。

分析:

我们知道要形成一个末尾的0,需要组合出2和5这两个质因子。然而在n!中,质因子2的个数永远大于5的个数。所以,问题转换为对n!计算5的质因子个数。

代码:

[code]public class Solution {
    public int trailingZeroes(int n) {
        int s=0;
        while(n>=5){
            n/=5;
            s+=n;
        }
        return s;   
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: