问题描述:给一个整数n,返回n!尾部0的个数。
方法一:数字n超大时,易超时
class Solution {
public:
int trailingZeroes(int n) {
int sum=0;
for(int i=5;i<=n;i+=5)
{
int x=i;
while(x%5==0)
{
x/=5;
sum++;
}
}
return sum;
}
};
优化方法:
class Solution {
public:
int trailingZeroes(int n) {
int sum=0;
while(n)
{
sum+=n/5;
n/=5;
}
return sum;
}
};