本文主要是介绍【HDU】 1124 Factorial,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 longusing 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;
}
这篇关于【HDU】 1124 Factorial的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!