part4:素数判别
- 法一:
- √n判别
- 这个的话就是暴力了吧,不过只能判别单个数是不是质数,而且很大的话会爆

//没有代码qwq(不想写
- 法二:埃式筛法
- O(nloglogn)判别
- 直接代码好不啦:
int pri[],n,num;
bool yes[];
sieve(int a)//筛
{
for(int i=;i<=a;i++)yes[i]=;
for(int i=;i<=a;i++){
if(yes[i]){
pri[++num]=i;
for(int j=i*;j<=a;j+=i)
yes[j]=;}
}
}
int main()
{
cin>>n;
sieve(n);
for(int i=;i<=num;i++)
cout<<pri[i]<<endl;
}//伪代码qwq- 法三:线形筛:
int pri[],n,num;
bool yes[];
int hs(int a){
num=;
memset(yes,,sizeof(yes));
for(int i=;i<=a;i++){
if(!yes[i])pri[num++]=i;
for(int j=;j<=num&&i*pri[j]<=a;j++){
yes[i*pri[j]]=;
if(i%pri[j]==)break;
}
}
}
int main()
{
cin>>n;
hs(n);
for(int i=;i<num;i++)
cout<<pri[i]<<endl;
}end-
part4:素数判别的更多相关文章
- nefu 120 梅森素数
题意:给出p(1<p<=62),让你求Mp=2^p-1是否为梅森素数. 梅森素数:若p为素数,且Mp=2^p-1也是素数,则Mp为梅森素数.若p为合数,Mp=2^p-1一定为合数若p为素数 ...
- maple 教程
1 初识计算机代数系统Maple 1.1 Maple简说 1980年9月, 加拿大Waterloo大学的符号计算机研究小组成立, 開始了符号计算在计算机上实现的研究项目, 数学软件Maple是这个项目 ...
- 小学生都看得懂的C语言入门(3): 数组与函数
#include <stdio.h> int main() { int x; ; ; scanf("%d",&x){ sum+=x; cnt++; scanf( ...
- 计蒜客 Goldbach Miller_Rabin判别法(大素数判别法)
题目链接:https://nanti.jisuanke.com/t/25985 题目: Description: Goldbach's conjecture is one of the oldest ...
- 记一次【求n以内的素数个数】的优化记录
最近在leetCode上刷提,还是满锻炼人的,为以后面试打基础吧.不多说下面开始. 问题:求[2,n]之间的素数的个数. 来源:leetCode OJ 提示: Let's start with a i ...
- C语言判断一个数是否是素数
素数又称质数.所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除. 思路1):因此判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的 ...
- JAVA语言的素数判断,随机数,函数调用
近来刚学JAVA,就从JAVA写起吧,JAVA判别素数,其实方法和C/C++没什么区别,主要就是想谈一下,其中包括的3个点. (1)JAVA语言产生随机数,random函数,定义参数max的作用是给出 ...
- 小学生都看得懂的C语言入门(2): 判别 循环的一些应用实例
1.bool 类型 定义bool类型之前需要导入#include <stdbool.h> #include <stdio.h> #include <stdbool.h&g ...
- 【题目】求n以内的素数个数
最近在leetCode上刷提,还是满锻炼人的,为以后面试打基础吧.不多说下面开始. 问题:求[2,n]之间的素数的个数. 来源:leetCode OJ 提示: Let's start with a i ...
随机推荐
- RoR - Expressing Database Relationships
One-to-One Association: *一个person只对应一个personal_info *一个personal_info只属于一个person *belongs to用foreign ...
- LaTeX大于小于号
发现大部分人只回答大于等于号.小于等于号的写法,而没有说大于.小于号的分别写法. 大于号:\textgreater 小于号: \textless 下面的后面要加空格,否则会识别错误 大于等于:\geq ...
- Hyper-v 虚拟机 关闭服务
1.Win + R 运行 2.输入 services.msc 回车 3.禁用下图的服务
- MTSC2019第五届中国移动互联网测试开发大会北京站震撼来袭!
MTSC2019 暨第五届中国移动互联网测试开发大会(Mobile Testing Summit China)是由国内最大的测试开发技术社区之一 TesterHome 发起的行业会议,聚焦于软件测试及 ...
- 关于Mysql数据库的学习总结
关于Mysql操作指令: 1.键盘win + R 弹出windows运行输入框,输入cmd命令,进入windows数据库; 2.在windows数据库里输入mysql(数据库) -uroot(用户 ...
- CentOS 7 使用OwnCloud建立私有云储存网盘
使用OwnCloud建立属于自己私有的云存储网盘 OwnCloud概述: OwnCloud 一款文件主机服务软件,就是我们平时使用的云存储,不过这是在自己主机的服务器上建立属于自己的私有云,OwnCl ...
- Python工资高还是Java?
说起来,随着人工智能和大数据逐渐进入人们的眼中,越来越多的人看到互联网未来大好发展趋势,而想要学习一门技术来进入其中,以期分一杯羹.但是,作为人工智能和大数据的重要编程语言,Python和Java,该 ...
- 给eclipse设置自动补全的步骤
按照如下步骤:window—>preferences—>java—>editor—>content assist—>然后找到如下图所示的输入框,然后输入如下的字母:.qw ...
- jupyter notebook新用法
输入单词以后按下tab键以后 出现提示 a是个矩阵或者数组,a.flatten()就是把a降到一维,默认是按横的方向降>>> a = np.array([[1,2], [3,4]]) ...
- 什么是DNS攻击?它是如何工作的?
什么是DNS攻击?它是如何工作的? DNS攻击是一种利用域名系统中的弱点或漏洞的网络攻击.今天,互联网已成为我们生活中不可或缺的一部分.从社交到金融.购物再到旅游,我们生活的方方面面都是互联网.由于互 ...