LeetCode Factorial Trailing Zeroes

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

编程之美上的P125有讲,如果不看解答,顶多只能想到其中那个解法一,也就是nlogn的复杂度。上述logn解法关键是求1~n内所有数含有5的因子个数,总之真tmd的想不出的巧妙。

posted @ 2015-01-27 23:53  卖程序的小歪  阅读(114)  评论(0编辑  收藏  举报