求素数(质数)的方法
这里记录一下自己每日学习算法的一个小笔记。
19-9-16
求素数的方法说明:
实际上是用暴力枚举法去计算该数是否可以被整除,但在这过程中也是有减少时间复杂度的方法的。比如若X为非质数,则存在一个Y1*Y2=X。此时若Y1≠Y2则必有Y1<√X,Y2>√X或者Y1>√X,Y2<√X。那么我们如果从头2遍历到X-1做整除判断的话必然会同一组整除数据必然会出现两次。例如15,会被3和5整除。所以我们其实只用便利2到√X做整除判断,减少多余的操作,若2到√X没有数可以整除的话那么√X到X-1也一定不会有数可以整除。
以下程序目的是找出N以内的所有质数,所以第一个for循环是遍历N以内的数,第二个for循环是判断某个数是否为质数。
int main()
{
int n;
cin>>n;
bool is_prime=true;
//2是唯一一个为质数的偶数,所以后面去考察质数时略过偶数
cout<<2<<endl;
for(int i=3;i<=n;i+=2)
{
is_prime=true;
//考察每一个数是否是质数
for(int j=3;j<=sqrt(i);j++)
{
if(i%j==0)
{
is_prime=false;
break;
}
}
if(is_prime)
{
cout<<i<<endl;
}
}
return 0;
}
求素数(质数)的方法相关推荐
- 求素数(质数)的方法及时间复杂度的比较
素数,又叫质数,定义是除了1和它本身以外不再有其他的因数 时间复杂度O(n) bool prime(int x){//判断x是不是质数,是返回true,不是返回false if(x<=1) re ...
- Python 求素数之多方法解析
素数简介:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 素数 1.素数的普通解法 直接上代码 import math L=[2] n=int(input("请输入所 ...
- 【算法】素数(质数)判断方法
注:本篇文章已搬至个人博客中, 点击前往 素数(质数)的判断在算法问题中经常遇到,这里小结几种常用的判断方法. 素数(质数)的定义 首先,我们来看一下素数(质数)的定义:质数又称素数.一个大于1的自然 ...
- 素数(质数)判断方法
https://blog.csdn.net/songyunli1111/article/details/78690447 ->通俗易懂的解释 标准版:大部分人都知道的比较快的方法:判断从2到s ...
- 求素数/质数 简单Java算法
基本定义 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 与此相对应的是 合数 除2以外所有的质数都是奇数 质数表 (注意: 2 是 ) Java 代码 输出 100 以内 的 ...
- C语言求素数两种方法
素数定义:素数是指除了 1 和它本身以外,不能被任何 法一:判断一个整数 m 是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数. 法二:把2~√n之间的每一个 ...
- C语言判断素数(求素数) 求两个数之间的所有质数
求素数/质数(采用的sqrt) #include <stdio.h> #include<math.h>//判断一个数是不是素数 int checkPrimeNumber(int ...
- 面试官:你知道怎么求素数吗?
摘要:面试官:你知道怎么求素数吗?我:求素数? 本文分享自华为云社区<很多人不知道的求素数的正确方法>,原文作者:bigsai . 前言 现在的面试官,是无数开发者的梦魇,能够吊打面试官的 ...
- 求质数(Prime Number 素数)的方法——厄拉多塞筛法
质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.换句话说,只有两个正因数(1和自己)的自然数即为素数.比1大但不是素数的数称为合数.1和0既非素数也非合数.合数 ...
- 求素数(质数)的方法(求100以内的素数及判断该数是否为素数)
"素数,也是质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数." 求素数的方法: (1)从2~x-1测试是否可以整除 (2)去掉偶数之后,从3~x-1,每次加2 ...
最新文章
- 2022年了,PyTorch和TensorFlow选哪个?
- linux共享文件可读写,在Ubuntu中设置samba共享可读写文件夹
- 简单又有效!神奇的轻量级通用上采样算子CARAFE
- 大牛给计算机专业学生的 7 个建议
- 高数 | 【一元函数微分学】导数部分经典快速例题
- PPT修行之路(二)-素材库
- 2020牛客暑期多校训练营(第九场)	The Crime-solving Plan of Groundhog
- sqlserver获取周数
- 旺盛型人格特征和优劣势,旺盛型性格的职业发展方向
- 分析:公众号运营+引流,怎么从0到1运营
- Wallpaper Engine壁纸提取
- 计算机桌面属性打不开,电脑计算机属性打不开怎么办
- Callback cannot return a non-null value as it gets overwritten by the pipeline
- BZOJ 3875 Ahoi2014 骑士游戏
- 《人工智能的明天,中国去哪儿》---汤晓鸥
- 双拼输入法软件测试,关于双拼输入法学习的一些思考
- vue+elementui+springboot前后端分离实现学校帖子网站,模拟“淘柳职”学校大作业
- 【Java】接口练习题
- 动态规划解决01背包问题
- 计算机无法启动打印机,打印机无法启动打印作业是怎么回事