以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; }
以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; }