172. Factorial Trailing Zeroes

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

Note: Your solution should be in logarithmic time complexity.

一刷
题解:
求n!尾部有多少个0。其实主要就是看有多少个5,有多少个5就有多少个0
count = n / 5 + n / 25 + n / 125 + ....
如果有25,会产生2个0, 125会产生3个0

public class Solution {
    public int trailingZeroes(int n) {
        if(n<=0) return 0;
        int res = 0;
        while(n>0){
            res += n/5;
            n/=5;
        }
        return res;
    }
}

你可能感兴趣的:(172. Factorial Trailing Zeroes)