2018年东北农业大学春季校赛 E-wyh的阶乘(求n!的0的个数)

链接:https://www.nowcoder.com/acm/contest/93/E
来源:牛客网

题目描述

这个问题很简单,就是问你n的阶乘末尾有几个0?

输入描述:

输入第一行一个整数T(1<=T<=100),代表测试组数
接下来T行,每行一个数n(1<=n<=10^9)

输出描述:

对于每组测试数据,输出对应答案

输入例子:
5
1
2
3
4
5
输出例子:
0
0
0
0
1

-->

示例1

输入

5
1
2
3
4
5

输出

0
0
0
0
1 只有2*5能得到0,而5出现的频率又小于2,即计算5出现的次数。
ans = n/5+n/(5^2)+n/(5^3)……
其中n/5表示不大于n的数中能被5整除的数的个数贡献1个5;n/25再贡献一个;n/125在贡献一个……
 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<vector>
#include<stack>
#include<queue>
#define lson l, m, rt<<1
#define rson m+1, r, rt<<1|1
#define IO ios::sync_with_stdio(false);cin.tie(0);
#define INF 0x3f3f3f3f
#define MAXN 500010
const int MOD=1e9+;
typedef long long ll;
using namespace std;
ll n, x, cnt;
ll solve(ll x)
{
ll cnt=;
while(x){
cnt += x/;
x /= ;
}
return cnt;
}
int main()
{
IO;
while(cin >> n){
for(int i = ; i < n; i++){
cin >> x;
cout << solve(x) << endl;
}
}
return ;
}
上一篇:製程能力介紹(SPC introduction) ─ Ck之製程能力解釋


下一篇:Hdu 1429 胜利大逃亡(续) 分类: Brush Mode 2014-08-07 17:01 92人阅读 评论(0) 收藏