UVA_10006_CarmichaelNumbers
来源:互联网 发布:c 键值对数组 编辑:程序博客网 时间:2024/06/06 12:45
求一个数是不是卡米切尔数。
卡米切尔数。
1.不是素数
2.符合所有的2<=a<n有 (a^n)%n==a
#include <iostream>#include <stdio.h>using namespace std;const int M=65000;int pri[M];long long qp(long long nn,int n,int m) //这个题目中答案不会超int但{ long long r=1; while(n>0) { if(n&1) r=r*nn%m; //这里 n>>=1; nn=(nn*nn)%m; //以及这里会超int 所以干脆这里long long } return r;}int main(){ int n; int f; for(int i=2;i<M;i++) //筛法求素数 { if(!pri[i]) for(int j=i*2;j<M;j+=i) pri[j]=1; //和数标记为1 } while(1) { f=0; scanf("%d",&n); if(!n) break; if(!pri[n]) { printf("%d is normal.\n",n); continue; } else { for(int i=2;i<n;i++) if(qp(i,n,n)!=i) { f=1; break; } } if(f) printf("%d is normal.\n",n); else printf("The number %d is a Carmichael number.\n",n); } return 0;}
0 0
- UVA_10006_CarmichaelNumbers
- U-boot分析
- 进制转换
- Android实战简易教程-第二十四枪(基于Baas的用户表查询功能实现!)
- MyEclipse 10, 2013, 2014 破解、注册码
- Machine Learning && Deep Learning Resources
- UVA_10006_CarmichaelNumbers
- POJ 1952 BUY LOW,BUY LOWER 最长递减子序列 动态规划
- 【PHP代码】生成百度短链接
- *Android 多线程下载 仿下载助手
- 南阳 oj NYoj 数据结构 最小数 题目1073
- Hadoop虚拟机固定Ip上网
- hdu 3038 How Many Answers Are Wrong
- C++异常处理学习记录
- ORACLE 定时执行存储过程<一>