经典的判断伪素数

来源:互联网 发布:c语言贪心算法例题 编辑:程序博客网 时间:2024/05/21 08:04
用到了快速幂和求余定理,代码如下
#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;   long long power(long long a,long long b,long long c){long long base=a,s=1;while(b){if(b&1) s=s*base%c;base=base*base%c;b>>=1;}return s%c;}int su(long long n){int i;for(i=2;i*i<n;i++)if(n%i==0) return 0;return 1;}int main(){ long long p,a; while(scanf("%lld%lld",&p,&a)&&(p||a)) { if(su(p) )printf("no\n"); else  { if(power(a,p,p)==a) printf("yes\n"); else printf("no\n"); }}return 0;}

0 0
原创粉丝点击