各位如果看到博客内有广告,可以动手点一点,谢谢

MENU

LeetCode172. 阶乘后的零

July 9, 2018 • Read: 377 • LeetCode

image

 要求末尾有多少个零,则该数应为$x*10^k$ 的形式等于$x*(2^k*5^k)$在阶乘里,2的数量远大于5,所以我们只用统计有多少个5就行,对于一个数的阶乘,例如6,1*2*3*4*5*6 = 1*2*3*2*2*5*6,因数中有一个5,所以答案就是1

class Solution {
    public int trailingZeroes(int n) {
        int ans = 0;
        while(n > 0) {
            ans += n / 5;
            n /= 5;
        }
        return ans;
    }
}
Archives Tip
QR Code for this page
Tipping QR Code