leetcode 172. Factorial Trailing Zeroes

求阶乘的尾0,要求对数时间复杂度。

解决:

只有2*5能得出0,对于阶乘,各项因子,因子2的数量肯定大于5,求5即可。

含有5的因子有5,25...

    int trailingZeroes(int n) {
        int ret = 0;
        long now = 5;
        while (now <= n) {
            ret += n / now;
            now *= 5;
        }
        return ret;
    }

 

posted on 2018-01-29 22:09  willaty  阅读(118)  评论(0编辑  收藏  举报

导航