OJ172

题目要求:Given an integer n, return the number of trailing zeroes in n!.
我的解法

int trailingZeroes(int n) {
    if(n>=5)
    {
        int k = n/5;
        return k+trailingZeroes(k);
    }
    else
    {
        return 0;
    }
}

分析:可以很清楚的知道,给阶乘结果贡献末尾0的,是5的倍数以及偶数,但是偶数明显数量比较多,所以只考虑5的个数,也就是1……n中因子5的个数。

posted @ 2015-03-08 15:05  二货磁铁  阅读(157)  评论(0编辑  收藏  举报