HDU-6608

牧云@^-^@ 提交于 2019-11-27 05:59:28
题目:HDU-6608 题使用的数学思想:威尔逊定理+逆元+快速幂 威尔逊定理:当且仅当p为素数时:( p -1 )! ≡ -1 ( mod p )。 逆元:x%mod/y%mod=x*pow(y,mod-2,mod); 题意:T组样例,给出一个P求出仅次于P的素数Q, 威尔逊定理: (P-1)! ≡ -1(mod P) 推广为:Q!*(Q+1)*......*(P-2)*(P-1) ≡ -1(mod P); Q!=-1(mod P)/(Q+1)*......*(P-2)*(P-1) 思路:使用暴力求出Q在使用威尔逊定理求出结果 注意:大数相乘会因为溢出出现问题。wa了N次祝你好运 AC-code: #include #include using namespace std; typedef long long ll; ll Prime(ll X) { ll i,x=sqrt((double)(X+0.5)); for(i=2;i
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!