Factorial Trailing Zeroes

以0结尾的数只与因子5*2有关,所以只要计算1-n之间2和5的个数,由于2的个数比5多的多(证明不会。。。),所以就只要计算5的个数就行了,

编程之美上有这题~

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

 

posted @ 2015-03-05 19:13  SprayT  阅读(104)  评论(0)    收藏  举报