经典的判断伪素数
2017-05-07 21:55
218 查看
用到了快速幂和求余定理,代码如下
#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; }
相关文章推荐
- java经典算法2_判断素数
- 经典问题素数篇————————1、判断是n否为素数!
- java经典算法_002判断素数
- 经典算法之判断一个整数是否为素数
- C语言经典例题:素数判断
- 非常经典的JAVA编程题(判断101-200之间有多少个素数,并输出所有素数。)
- MATLAB编程经典程序 素数的判断,求0~100素数之和
- 经典c程序(0008)--判断101-200之间有多少个素数,并输出所有素数
- C语言-判断一个数是否为素数-经典代码-编程
- 高效的nextPrime算法(参考l链接中的高效的素数判断)
- [转] 多种方法实现素数的判断
- js判断ie方法集锦(含正则)代码短小经典 原创
- Python+django建站入门篇(2):素数判断
- is_prime(素数判断)
- 判断101-200之间有多少个素数,并输出所有素数。
- 循环判断是否是素数
- 经典的判断数据库连接断开问题,翻遍了许多地方没有答案。
- 素数判断算法(高效率)
- 输入一个正整数,判断其是否为素数
- 判断一个数是否是素数