【LeetCode刷题】--172.阶乘后的零

172.阶乘后的零

【LeetCode刷题】--172.阶乘后的零_第1张图片

方法:

【LeetCode刷题】--172.阶乘后的零_第2张图片

class Solution {
    public int trailingZeroes(int n) {
        int ans = 0;
        for(int i = 5;i<=n;i+=5){
            for(int x = i; x % 5==0; x/=5){
                ++ans;
            }
        }
        return ans;
    }
}

进一步优化:

【LeetCode刷题】--172.阶乘后的零_第3张图片

class Solution {
    public int trailingZeroes(int n) {
        int ans = 0;
        while (n != 0) {
            n /= 5;
            ans += n;
        }
        return ans;
    }
}

你可能感兴趣的:(LeetCode,leetcode,算法)