NP[阶乘取余]
来源:互联网 发布:qq三国陆逊打技能数据 编辑:程序博客网 时间:2024/05/15 18:42
这题还是挺亲切的
暴力+特判
轻松90
然后
剩下了10分
根据题目的特殊性——大数据时模数是确定的
进行分块打表
#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<queue>#include<vector>#include<climits>#include<string>#include<cstdlib>#include<ctime>#define MOD 1000000007#define LL long longusing namespace std;LL n,p,ans=1,i,d;LL pre[100]={682498929,491101308,76479948,723816384,67347853,27368307,625544428,199888908,888050723,927880474,281863274,661224977,623534362,970055531,261384175,195888993,66404266,547665832,109838563,933245637,724691727,368925948,268838846,136026497,112390913,135498044,217544623,419363534,500780548,668123525,128487469,30977140,522049725,309058615,386027524,189239124,148528617,940567523,917084264,429277690,996164327,358655417,568392357,780072518,462639908,275105629,909210595,99199382,703397904,733333339,97830135,608823837,256141983,141827977,696628828,637939935,811575797,848924691,131772368,724464507,272814771,326159309,456152084,903466878,92255682,769795511,373745190,606241871,825871994,957939114,435887178,852304035,663307737,375297772,217598709,624148346,671734977,624500515,748510389,203191898,423951674,629786193,672850561,814362881,823845496,116667533,256473217,627655552,245795606,586445753,172114298,193781724,778983779,83868974,315103615,965785236,492741665,377329025,847549272,698611116};int main(){/* for(i=1;i<=100;i++) { for(j=((i-1)*10000000)+1;j<=10000000*i;j++) d=(d*j)%MOD; printf("%lld,",d); } */ scanf("%lld%lld",&n,&p); if(n>=p) { printf("0"); return 0; } if(p==1000000007) { if(n<10000000) ans=1; else ans=pre[(n/10000000)-1]; for(i=(n/10000000)*10000000+1;i<=n;i++) { d=i%p; ans=(ans*d)%p; if(ans==0) { printf("0"); return 0; } } } else { for(i=2;i<=n;i++) { d=i%p; ans=(ans*d)%p; if(ans==0) { printf("0"); return 0; } } } printf("%lld",ans); return 0;}
阅读全文
0 0
- NP[阶乘取余]
- POJ3761阶乘取余问题
- np问题(大数阶乘取模)
- 对n的阶乘取余
- hdoj GCC 3123 (大数阶乘取余&转换)
- hdoj--3123--GCC(技巧阶乘取余)
- python(二) N的阶乘对M取余
- "%"取余
- 取余
- 取余
- 算法 大数计算:加减乘除,模,阶乘,进制转换(大数除法取余)
- 取模?取余?
- 取模!=取余
- lua 取整 取余
- 取整和取余
- Java 取模 取余
- js 取模 取余
- 取模与取余
- UVA
- context component scan spring
- java 输入/输出流(I/O流)
- 有N个孩子站在一条线上。 每个孩子都被分配一个评分值。你给这些孩子,每个孩子必须至少有一个糖果具有较高评级的儿童比邻居获得更多的糖果。 你必须给予的最低
- Pandas统计分析基础
- NP[阶乘取余]
- NP
- svg字体图标
- codeforces The Eternal Immortality 题解
- NSOperation
- 最严风暴之后,比特币等虚拟货币活得怎么样?
- 大陆出现首例iPhone 8电池爆裂事件;小米被指责盗用视频素材丨价值早报
- 人生苦短,就不洗碗 | 钛空舱
- bzoj2957楼房重建(线段树)