**Given an integer n, return the number of trailing zeroes in n!.
Note: Your solution should be in logarithmic time complexity.**
这题有时间复杂度要求,所以按平常的办法做肯定超时。
因为题目要求求n!中含有0的个数,所以,我们只需要考虑5的个数。
第一次n/5相当于把n!中能分解出1个5的数目求出来,然后赋给s;第二次n/5,相当于把n!中能分解出5*5的数目求出来,同样赋给s;直到n=0中止。。
int trailingZeroes(int n)
{
int s=0;
while ((n/5)!=0)
{
n/=5;
s+=n;
}
return s;
}