题目描述:
求n!中含有0的个数,例如1!= 1 含有0个0,5! = 120 含有1个0,10! = 3628800 含有2个0
解题思路:
这题之前在leetcode中做过,如果先对n进行阶乘运算,然后%10求0的个数。但是n!很有可能溢出,所以需要找到它的等效方法,0的个数即为10的个数,即为5于2的个数,显然在n!中,2的个数要大于5的个数,因此只要算出n范围内有多少个5就OK
代码如下:
public static int getZeroCount(int n)
{
/*在这里实现功能*/
int res=0;
while (n!=0)
{
res=res+n/5;
n/=5;
}
return res;
}
}