10006 Carmichael Numbers

2019-04-14 21:57发布

从这道题里面学习了不少,一个是使用了我之前总结的快速求高次幂的模,第二个就是Eratosthenes筛选法求解质数,这里给一个链接:http://www.cnblogs.com/color-my-life/p/3265236.html 题目的大意就是: 判断是一个n是不是   满足2个条件:不是素数 + 对于所有的a(2<=a 先打素数表(以后注意,碰到利用素数的题目最好先打表避免超时) 之后快速求模(这里就涉及算法了) #include #include #include #include #include #include using namespace std; #define MAXD 65000 + 10 int Prime[MAXD]; typedef long long LL; void Get_Prime(){ memset(Prime,0,sizeof(Prime)); /*一开始都是素数*/ for(int i = 2;i * i < MAXD; i++){ for(int j = i; j * i