【算法分析与设计】埃氏筛素数算法
文章目录
- 素数
- 埃氏筛
- 算法思想
- 时间复杂度
- Java编程实现
- 算法优化
素数
素数也称质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
最基本的质数:2, 3, 5, 7, 11, 13, 17, 19, ……
埃氏筛
埃拉托斯特尼筛法,简称埃氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。
要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。
算法思想
给出要筛数值的范围n,找出以内的素数。
先用2去筛,即把2留下,把2的倍数剔除掉;
再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;
接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;
不断重复下去…
最终,把所有不大于根号n的所有素数的倍数剔除,剩下的就是素数。
- 如果n是质数,那么2n, 3n, 4n, …这些n的倍数肯定都不是质数。
- 如果选的数要多,那么要选的每个数要尽可能小。
</
【算法分析与设计】埃氏筛素数算法相关推荐
- 素数筛法详解:埃氏筛和欧拉筛
文章目录 摘要 埃式筛 欧拉筛 超级详细的基础算法和数据结构合集: https://blog.csdn.net/GD_ONE/article/details/104061907 摘要 本文主要介绍埃氏 ...
- 素数筛选法(埃氏筛 欧拉筛)
质数筛选法 文章目录 质数筛选法 前言 一.埃氏筛 O(nloglogn)O(nloglogn)O(nloglogn) 二.欧拉筛O(n)O(n)O(n) 总结 前言 当需要大范围内的素数时,例如1e ...
- 经典中的经典之——筛选法求素数(埃氏筛 | 线性筛)
题目描述 统计小于非负整数n的质数数量 浑水摸鱼之蛮力验证法 直接上代码 bool is_zen(int x) {int i = 2;while (i * i <= x) {if (x % i ...
- 埃氏筛秒素数题(洛谷P5723题题解,Java语言描述)
题目要求 P5723题目链接 分析 埃氏筛不香吗? 详解埃氏筛 AC代码(Java语言描述) import java.util.Scanner;public class Main {private s ...
- 【基础数学--埃氏筛】204. 计数质数
题目描述 给定整数 n ,返回所有小于非负整数 n 的质数的数量 . 示例: 输入:n = 10 输出:4 解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 . 解题思路 概念: ...
- 埃氏筛与欧拉筛(线性筛)
目录 一.前言 二.埃氏筛与欧拉筛(线性筛) 1.问题描述 2.基本思路 (1)埃氏筛法 (2)欧拉筛法 三.题例 1.上链接 2.简单思路 3.代码 (1)埃氏筛python版 (2)欧拉筛pyth ...
- 信奥日记——数论(快速幂、埃氏筛、欧拉筛)
文章目录 前情提要 正文 1.快速幂 思路 代码 完整代码(包含取模) 2.埃拉托斯特尼筛法(埃氏筛) 原理 思路 代码 完整代码(求 2 到 n 之间的素数) 3.线性筛 思路 代码 完整代码 前情 ...
- 筛选质数,埃氏筛和欧拉筛(线性筛)
求len之内的所有的素数 除了比较常用的开根号的求法,还有两种更好的方法,埃氏筛和线性筛.其中埃氏筛更好理解,而线性筛(欧拉筛)不好理解但是更快. 埃氏筛 #include <bits/stdc ...
- 莫比乌斯函数的两种求法(基于欧拉筛、埃氏筛)
给出莫比乌斯函数的定义: 这里的n即u(i)中的i,即i=1时,u(1)=1:i大于1且i中某个质因子的幂超过1,则u(i)=0:否则,u(i)取决于其质因子个数的奇偶性. 这里给出两个莫比乌斯函数的 ...
最新文章
- Java泛型之mybatis,基于spring MVC 和 MyBatis 泛型的代码生成模板
- 一场事先预告的砸冰箱盛宴
- 调试机械臂一体化控制电路:STM32F103控制器初步调试
- ubuntu下查看进程端口
- 【HDU - 1542】Atlantis (线段树,扫描线)
- (转)使用Entity Framework和WCF Ria Services开发SilverLight之1:简单模型
- 美国计算机科学公司的全球化发展历程,计算机科学导论第1章 概述.ppt
- 用WPF+MongoDB开发房产信息收集器(4)——房产信息采集器总体介绍附程序下载
- java 框架介绍------权限框架
- a标签创建超链接,利用a标签创建锚点
- Matlab 常用功能
- 【多目标优化求解】基于matlab金鹰算法求解多目标优化问题【含Matlab源码 188期】
- 漫谈软件架构设计系列(一):可用性设计
- 试试这些方法,误删文件怎么恢复?
- MATLAB的.fig文件打不开——有效解决
- 古龙笔下一百单八将总表
- python corpora.Dictionary corpus dictionary.doc2bow 词袋模型转为稀疏矩阵 词向量 不要词袋模型
- ns3中PointToPointDumbbellHelper类的引入方法(哑铃型网络模拟)
- Kafka 官方文档1(中文)
- 《活着中文版自序》感悟
热门文章
- python学习笔记-day6-函数的延续【汉字转拼音模块,函数返回多个值,匿名函数,列表生成式,generator生成器,三元运算符】...
- 解决连接mysql报错1130
- Asp.net报表制作 OpenFlashChart免费图表组件
- 重新绘制TabControl的Tabpage标签,添加图片及关闭按钮
- Activiti5第十一弹,流程监听器与任务监听器
- 判断radio单选按钮是否选中
- js中给多个class属性的标签赋值
- vs未指定启动文件_高效开发利器之自定义模板文件
- html5 canvas 不兼容safari浏览器_HTML5简介
- ios 数组中的字典排序_利用数组和字典,实现按指定规则的排序