我们知道最小的两个数相乘能出来0的就是2和5了,那么对于所有整数来说,能被2整除的数要多于能被5整除的数,所以这道题的解题思路就是:判断从1-N这些数中一共有包含的5的个数。
代码如下:
int NumZero(int n)
{
int count = 0;
for (int i = 1; i <= n; i++)//找寻1-n中每个数字包含的5个个数的总和
{
int j = i;
while (j%5==0)
{
count++;
j /= 5;
}
}
return count;
}