标签:
一个数,他是素数么?
设他为P满足(P<=263-1)
P
Yes|No
2
Yes
算法导论——数论那一节
注意Carmichael Number
//费马小定理,网上代码 #include<iostream> #include<cstdio> #define LL long long using namespace std; LL n; int s[]={2,3,5,7,11,13,17,19,23,29}; LL slowmi(LL a,LL b) { LL tot=0; for(LL i=a;i;i>>=1) { if(i&1) tot=(tot+b)%n; b=(b+b)%n; } return tot%n; } LL mi(LL a,LL b) { LL tot=1; for(LL i=a;i;i>>=1) { if(i&1) tot=slowmi(tot,b)%n; b=slowmi(b,b)%n; } return tot%n; } bool check() { if(n==2) return true; else if(n<2||!(n&1)) return false; for(int i=0;i<10;i++)//费马小定理10次计算 { if(mi(n-1,s[i])!=1) return false; } return true; } int main() { cin>>n; if(check()) printf("Yes"); else printf("No"); return 0; }
标签:
原文地址:http://www.cnblogs.com/harden/p/5657572.html