Carmichael Numbers (Uva No.10006) -- 快速幂运算_埃氏筛法_打表
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std; typedef long long LL;
const int maxn = + ; //int prime[maxn + 1]; //第i个素数,保存区间内素数
bool is_prime[maxn]; //is_prime[i]为true表示i是素数
bool judge[maxn]; //能随机访问某数是否为素数 void sieve(int n) {
memset(judge, , sizeof(judge));
// int p = 0;
for (int i = ; i <= n; i++) is_prime[i] = true;
is_prime[] = is_prime[] = false;
for (int i = ; i <= n; i++) {
if (is_prime[i]) {
// prime[p++] = i;
judge[i] = true;
for (int j = *i; j <= n; j+=i) is_prime[j] = false;
}
}
} LL mod_pow(int x, int n, int mod)
{
LL res = ;
while (n > ) {
if (n & ) res = res * x % mod;
x = x * x % mod;
n >>= ;
}
return res;
} bool solve(int n)
{
for (int i = ; i < n; i++) {
if (mod_pow(i, n, n*) != i)
return false;
}
return true;
} int main()
{
int n;
sieve(maxn);
while (scanf("%d", &n) != EOF && n)
{
if (!judge[n] && solve(n)) printf("The number %d is a Carmichael number.\n", n);
else printf("%d is normal.\n", n);
}
return ;
}
Carmichael Numbers (Uva No.10006) -- 快速幂运算_埃氏筛法_打表的更多相关文章
- Colossal Fibonacci Numbers! UVA - 11582(快速幂,求解)
Problem Description The i’th Fibonacci number f(i) is recursively defined in the following way: •f(0 ...
- POJ 1995(有关快速幂运算的一道水题)
Raising Modulo Numbers Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 9745 Accepted: ...
- 《挑战程序设计竞赛》2.6 数学问题-快速幂运算 POJ1995
POJ3641 此题应归类为素数. POJ1995 http://poj.org/problem?id=1995 题意 求(A1^B1+A2^B2+ - +AH^BH)mod M. 思路 标准快速幂运 ...
- Raising Modulo Numbers(POJ 1995 快速幂)
Raising Modulo Numbers Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 5934 Accepted: ...
- UVA - 11149 (矩阵快速幂+倍增法)
第一道矩阵快速幂的题:模板题: #include<stack> #include<queue> #include<cmath> #include<cstdio ...
- 埃氏筛法(快速筛选n以内素数的个数)
给你一个数n,请问n以内有多少个素数?(n <= 10e7) 一般来说,要是对一个整数进行素数判断,首先想到的是写个函数判断是否为素数,然后调用这个函数,时间复杂度为O(n^(½)),但是要求n ...
- UVa 10870 & 矩阵快速幂
题意: 求一个递推式(不好怎么概括..)的函数的值. 即 f(n)=a1f(n-1)+a2f(n-2)+...+adf(n-d); SOL: 根据矩阵乘法的定义我们可以很容易地构造出矩阵,每次乘法即可 ...
- UVa 10870 (矩阵快速幂) Recurrences
给出一个d阶线性递推关系,求f(n) mod m的值. , 求出An-dv0,该向量的最后一个元素就是所求. #include <iostream> #include <cstdio ...
- Pseudoprime numbers(POJ 3641 快速幂)
#include <cstring> #include <cstdio> #include <iostream> #include <cmath> #i ...
随机推荐
- OPPO A7X 刷机小结
OPPO A7X 刷机小结: 概述:根据网上找到的教程(MTK模式刷机教程),没有成功.在QQ上询问一位提供刷机服务的大神,说是只有老版本才能刷. 操作步骤: 刷机工具: MediaTek SP Fl ...
- 我用Python爬虫挣钱的那些事
在下写了10年Python,期间写了各种奇葩爬虫,挣各种奇葩的钱,写这篇文章总结下几种爬虫挣钱的方式. 1.最典型的就是找爬虫外包活儿. 这个真是体力活,最早是在国外各个freelancer网站上找适 ...
- java后台面试知识点总结
本文主要记录在准备面试过程中遇到的一些基本知识点(持续更新) 一.Java基础知识 1.抽象类和接口的区别 接口和抽象类中都可以定义变量,但是接口中定义的必须是公共的.静态的.Final的,抽象类中的 ...
- laravel从5.2到5.5从入门到精通视频教程共16套
laravel从5.2到5.5从入门到精通视频教程共16套,大部分都是实战项目比如P2P.博客.短网址.知乎门户.app软件开发.微信商城实战等 课程目录: 01.Laravel框架从入门到精通02. ...
- LAXCUS大数据操作系统节点挂掉后的处理
昨天回公司加班跑一个LAXCUS大数据应用,JVM直接挂了,没有留下任何异常信息,查看代码,也没有内存泄漏的问题.百思不得姐,只好去求教LAXCUS大数据操作系统的技术客服,客服查看了故障节点配置.日 ...
- c++之洛谷P1068分数线划定
这是个排序题,做题过程中对sort的理解加深了不少,记下来避免忘记. 题目来源:https://www.luogu.org/problemnew/show/P1068 题目描述 世博会志愿者的选拔工作 ...
- Zip伪加密 破解ZIP密码
ZIP是一种相当简单的分别压缩每个文件的存档格式.分别压缩文件允许不必读取另外的数据而检索独立的文件:理论上,这种格式允许对不同的文件使用不同的算法.不管用何种方法,对这种格式的一个告诫是对于包含很多 ...
- Mocha 单元测试框架简介
前言: mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行. 使用mocha,我们就只需要专注于编写单元测试本身,然后,让mocha去自动运 ...
- Todo&Rocket
Todo是怎么实现的? 前面两篇博客分别介绍了MVC和Backbone.js的逻辑,但是实战获真知,在来一篇来显示下Todo是怎么通过Backbone.js连接起来的. 忽略掉所有的代码,我们只是打开 ...
- Top 10 Javascript MVC 框架
在网上偶然看到了,几种MVC框架各有优缺点,但Backbone和Ember的呼声相对更高-大家参考一下哈- http://codebrief.com/2012/01/the-top-10-javasc ...