您的位置:首页 > 其它

【HDU】 1124 Factorial

2016-05-26 18:53 399 查看

Factorial

题目链接

Factorial

题目大意

题目扯了一大堆没用的,最后说让你求N!末尾有多少零。

题解

末尾想产生零只有可能是2*5,所以我们找出min(num2,num5)就行了。

然而很明显2的数量肯定比5多,所以我们这里只用求5的数量就行了,所以我们用N整除5,25,125….最后加进答案中就行了。

代码

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#define LL long long

using namespace std;

LL n,ans;
int T;

int main()
{
scanf("%d",&T);
while(T--)
{
ans=0;
scanf("%I64d",&n);
LL i=5;
while (i<=n)
{
ans+=n/i;
i*=5;
}
printf("%I64d\n",ans);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: