HDOJ 2674 N!Again(找规律)
2015-08-26 19:45
459 查看
Problem Description
WhereIsHeroFrom: Zty, what are you doing ?
Zty: I want to calculate N!......
WhereIsHeroFrom: So easy! How big N is ?
Zty: 1 <=N <=1000000000000000000000000000000000000000000000…
WhereIsHeroFrom: Oh! You must be crazy! Are you Fa Shao?
Zty: No. I haven's finished my saying. I just said I want to calculate N! mod 2009
Hint : 0! = 1, N! = N*(N-1)!
Input
Each line will contain one integer N(0 <= N<=10^9). Process to end of file.
Output
For each case, output N! mod 2009
Sample Input
Sample Output
题目大意:求n!%2009.
直接求解必定超时,能不能缩小范围呢,我刚开始想n%=2009但是确实没有证据这么做果然WA。但是%2009显然当阶乘到2009
以后的时候每次必有2009为因子,故一定为0,但阶乘的值太大,那么就可以想到什么时候阶乘可以达到含有2009这个因子,
2009=41*7*7所以40阶乘后全为0.
WhereIsHeroFrom: Zty, what are you doing ?
Zty: I want to calculate N!......
WhereIsHeroFrom: So easy! How big N is ?
Zty: 1 <=N <=1000000000000000000000000000000000000000000000…
WhereIsHeroFrom: Oh! You must be crazy! Are you Fa Shao?
Zty: No. I haven's finished my saying. I just said I want to calculate N! mod 2009
Hint : 0! = 1, N! = N*(N-1)!
Input
Each line will contain one integer N(0 <= N<=10^9). Process to end of file.
Output
For each case, output N! mod 2009
Sample Input
4 5
Sample Output
24 120
题目大意:求n!%2009.
直接求解必定超时,能不能缩小范围呢,我刚开始想n%=2009但是确实没有证据这么做果然WA。但是%2009显然当阶乘到2009
以后的时候每次必有2009为因子,故一定为0,但阶乘的值太大,那么就可以想到什么时候阶乘可以达到含有2009这个因子,
2009=41*7*7所以40阶乘后全为0.
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #define LL long long #define mod 2009 #define inf 0x3f3f3f3f using namespace std; int main() { LL n,m,j,k; while(~scanf("%lld",&n)) { k=1; if(n>40) { printf("0\n");continue; } for(int i=1;i<=n;i++) { k=(k%mod*i%mod)%mod; } printf("%lld\n",k); } }
相关文章推荐
- 人工智能进入股市操盘获利巨大激荡股市
- See You Again
- B. Order Book------(Codeforces Round #317 [AimFund Thanks-Round] (Div. 2))
- A. Arrays------(Codeforces Round #317 [AimFund Thanks-Round] (Div. 2))
- Codeforces Round #317 [AimFund Thanks-Round] (Div. 1) A. Lengthening Sticks 分类
- 1.2句柄及 WinMain函数
- ACdream 1420 High Speed Trains(容斥原理)
- MainActivity,BadgeView
- STL源码剖析 [特殊的空间配置器](机智的type_traits.h)
- http://blog.csdn.net/opennaive/article/details/7514146
- 正确理解wait 和 notify
- Hadoop集群与RAID磁盘阵列
- POJ 2027 No Brainer(水~)
- POJ 1804 Brainman(归并排序)
- ACdream 1420 High Speed Trains(容斥原理+大数)
- Git review :error: unpack failed: error Missing tree
- [HDU 1151] Air Raid 最小路径覆盖
- HDU 4300 Clairewd’s message(KMP)
- USACO-Section 1.3 Barn Repair(贪心)
- 文件显示命令:cat、more、less、tail、touch详解