UVa10006-Carmichael Numbers 快速幂运算
来源:互联网 发布:张学良不抵抗 知乎 编辑:程序博客网 时间:2024/05/18 20:08
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=947
快速幂取模
code:
#include <iostream>#include <cstring>#include <cmath>using namespace std;typedef long long LL;LL pow_mod(LL a, LL b, LL m){ LL res = 1; for(;b;b>>=1,a=(a*a)%m) if(b&1) res =(res*a) %m; /*while(b) { if(b&1) res =res*a %m; a = a*a % m; b >>=1; }*/ return res;}#define N 65000bool prime[N];void sieve_prime(){ memset(prime,1,sizeof(prime)); for(int i=2;i<=sqrt(N); i++) if(prime[i]) for(int j=i*i; j<=N; j+=i) prime[j] = 0;}int main() { int n; sieve_prime(); while(cin>>n,n) { if(prime[n]) { cout<<n<<" is normal."<<endl; continue; } bool flag = 1; for(int i=2; i<n; i++) { if(pow_mod(i,n,n)!=i) { flag = 0; break; } } if(flag) cout<<"The number "<<n<<" is a Carmichael number."<<endl; else cout<<n<<" is normal."<<endl; }}
- UVa10006-Carmichael Numbers 快速幂运算
- UVA10006-快速幂Carmichael Numbers
- UVA10006 - Carmichael Numbers(筛选构造素数表+快速幂)
- UVa10006 Carmichael Numbers【素数判定+快速模幂】
- UVa10006 - Carmichael Numbers
- uva10006 - Carmichael Numbers
- UVA10006- Carmichael Numbers
- Carmichael Numbers uva10006
- UVa 10006 Carmichael Numbers (快速幂运算)
- Uva 10006 Carmichael Numbers 快速幂
- uva 10006 Carmichael Numbers(快速幂)
- UVA 10006 - Carmichael Numbers 快速幂
- Carmichael Numbers(快速幂和素数筛选)
- Uva 10006-Carmichael Numbers(快速幂)
- Uva 10006 Carmichael Numbers (快速幂)
- UVA 10006 Carmichael Numbers(快速幂)
- Carmichael Numbers (快速幂 + 筛法)
- 快速幂--uva10006
- 《模式识别》之文法模式识别
- 既然奋斗总是难免的,你又何必苦大仇深
- hibernate实体状态
- JSP,Servlet 重定向和转发的区别
- dreamweaver cs5精简版安装包
- UVa10006-Carmichael Numbers 快速幂运算
- 结合tomcat源码谈谈http get请求的乱码问题
- linux下解压命令大全
- 手机网络游戏框架体系要点分析
- 黑马程序员_Java编程基础(二)
- [Android] ADT关联源码与API文档 [2013-06-26更新]
- C++著名程序库的比较和学习经验
- 为何在匿名内部类中只能问被final修饰的本地变量?
- 上兴远控原理疑问