UVA 10006 - Carmichael Numbers (快速幂+筛素数)
来源:互联网 发布:java nextline 编辑:程序博客网 时间:2024/04/29 05:17
题意:
如果一个不是素数的数n满足从2到n-1中取一个数a满足a^n mod n = a
则这个数为Carmichael Numbers。判断输入的n是不是Carmichael Numbers。
要注意的是:快速幂中乘法可能超过int,要用long long强制转换。
先判断是不是素数,如果是,则直接输出is normal。不必要做快速幂了,否则超时。
#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#define maxn 65100using namespace std;bool vis[maxn];void init(){ int m = sqrt(65000+0.5); memset(vis,0,sizeof(vis)); for(int i = 2;i<= m;i++) { if(!vis[i]) { for(int j = i*i;j<=65000;j+=i) vis[j] = true; } }}int quick_pow(int a,int n,int mod){ int ans = 1; while(n) { if(n&1) ans = ((long long)ans*a)%mod; a = ((long long)a*a)%mod; n >>= 1; } return ans;}int main(){ int n; init(); while(scanf("%d",&n)!=EOF) { if(n==0) break; int flag = 0; if(!vis[n]) { printf("%d is normal.\n",n); continue; } for(int i=2;i<=n-1;i++) { if(quick_pow(i,n,n)!=i) { flag = 1; break; } } if(flag) printf("%d is normal.\n",n); else printf("The number %d is a Carmichael number.\n",n); } return 0;}
0 0
- UVA 10006 - Carmichael Numbers (快速幂+筛素数)
- UVA - 10006 Carmichael Numbers(素数筛+快速幂)
- Uva 10006 Carmichael Numbers(数论、快速幂、素数筛法)
- uva 10006 Carmichael Numbers(快速幂+素数)
- UVA - 10006 - Carmichael Numbers (快速幂+素数判断)
- Uva 10006 - Carmichael Numbers【素数+快速幂取模】
- uva 10006 Carmichael Numbers(快速幂)
- Uva 10006-Carmichael Numbers(快速幂)
- Uva 10006 Carmichael Numbers (快速幂)
- UVA 10006 Carmichael Numbers(快速幂)
- UVA 10006 - Carmichael Numbers 数论(快速幂取模 + 筛法求素数)
- UVA 10006 - Carmichael Numbers 数论(快速幂取模 + 筛法求素数)
- UVa 10006 Carmichael Numbers 【快速幂+素数打表(埃氏筛法)】
- Uva 10006 Carmichael Numbers 快速幂
- UVA 10006 - Carmichael Numbers 快速幂
- UVa 10006 Carmichael Numbers (快速幂运算)
- UVA 10006 - Carmichael Numbers(快速幂取模)
- UVA 10006 - Carmichael Numbers(快速幂取模)
- 关于预处理命令(#define)中 预定符号 的调试技巧
- 强大的vim插件集
- DLX(重复覆盖)FZU1686神龙的难题
- Current online Redo 和 Undo 损坏的处理方法
- 【BZOJ】1500 [NOI2005]维修数列 【splay】
- UVA 10006 - Carmichael Numbers (快速幂+筛素数)
- 3socket编程:UDP编程
- 【C++】STL容器的总结
- 黑马程序员——Java集合框架—Queue—BlockingQueue—ArrayBlockingQueue
- Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression & Regularization
- 浅谈响应式布局
- 三款JSON类库Jackson,Gson与JSON-lib的性能对比
- ORACLE介质管理库MML
- 排序11:计数排序