设计一个算法,计算出n阶乘中尾部零的个数
样例
11! = 39916800,因此应该返回 2
long long trailingZeros(long long n) {
long long count = 0;
long long i=n/5;
while (i!=0) {
count+=i;
i/=5;
}
return count;
}
每5个数会出现一个0
eg:101个数,则1.2.3.4.5中会出现一个0,同样的6.7.8.9.10也有1个0,.......则101有5.10.15.20......100共20个0
5,10,15,20,,,,100 ,这个等差数列等同于5*(1,2,3,,,,20),则括号内又是同样的情况。