Problem M: 有多少个0
Time Limit: 1 Sec Memory Limit: 16 MB
Description
求1*2*3*……*n的乘积以多少个0结尾。
Input
输入为多行,至EOF结束。每行为一个整数n,n<=100000。
Output
输出每个n对应的结尾0的个数。
Sample Input
10
100
1000
10000
Sample Output
2
24
249
2499
思路
思路来源:https://blog.csdn.net/weixin_39296576/article/details/90400373
求n!中5出现的次数。
代码
#include "stdio.h"
int numberOfFive(int n)
{
if (n < 5)
return 0;
n/=5;
return n+numberOfFive(n);
}
int main()
{
int n;
while (scanf("%d", &n) != EOF)
{
int sum=0;
sum=numberOfFive(n);
printf("%d\n",sum);
}
return 0;
}
/*
参考链接:https://blog.csdn.net/weixin_39296576/article/details/90400373
*/