题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1003
基准时间限制:1 秒 空间限制:131072 KB 分值: 5
难度:1级算法题
n的阶乘后面有多少个0?
6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0。
Input
一个数N(1 <= N <= 10^9)
Output
输出0的数量
Input示例
5
Output示例
1
解析:求0的个数,其实就是求2和5组合的个数,即求0~N中5的个数(离散课本好像有这个题)
代码:
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<cctype>
#define N 109
using namespace std;
const int inf = 0x3f3f3f3f;
typedef long long LL;
const int mod = 1000000009;
const double eps = 1e-8;
int main()
{
int now = 5, n, ans = 0;
scanf("%d", &n);
while(n >= now)
{
ans += n / now;
now *= 5;
}
printf("%d\n", ans);
return 0;
}