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

LeetCode Factorial Trailing Zeroes

2015-09-12 20:24 441 查看
思路:

求阶乘的末尾0的个数。

n的阶乘可以写成: n!=2x∗3y∗5z...n! = 2^x*3^y*5^z...

即所有质因子的乘积,只有一对2和5两个质因子相乘会贡献一个末尾0,又因为x一定大于z,所以只需计算有多少个质因子5即可。

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