leetcode172 阶乘后的零

对数算法:O(nlogn)

/**
即为统计0-n中5,10,15,20,25的个数,因为肯定有足够的偶数使得存在x*5=10*n,25=5*5因此计数加2,5=1*5计数加一;
但如果挨个计数当n很大时要不断的除以5然后res++比较麻烦,后来发现res每次增加n/5个5即可;
**/

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

 

posted @ 2019-05-28 17:15  Joel_Wang  阅读(149)  评论(0编辑  收藏  举报