Given an integer n, return the number of trailing zeroes in n!.
Note: Your solution should be in logarithmic time complexity.
class Solution {
public:
int trailingZeroes(int n) {
int cnt = 0;
/*long long i = 5;//之前一直TLE 是因为把i的类型定义成整型,这样当n为整型最大值时,i乘以5将会超出整型范围变成负数,这样n除以i将不会为0而陷入死 //循环,后来发现其实i的定义纯属多余,以后一定要注意细节
while(n / i)
{
cnt += n / i;
i *= 5;
}*/
while(n)
{
cnt += n / 5;
n /= 5;
}
return cnt;
}
};