埃式筛选法

  • 埃式筛选法主要用于筛选素数

  • 思想

    • 如果一个数为素数,那么这个素数的倍数一定是合数,从2、3开始,筛掉它们的倍数,那么出2、3外未被筛选掉的数中最小min的那个就是素数(2 * 3 = 6;已被筛掉,所以前面不可能有数可以被min整除了,即可推出min为素数),再筛掉min的所有倍数,以此类推
    • 代码如下
 // 【埃筛法】 计算n以内素数的个数public static int eratosthenes(int n){// 初始化为false,false代表素数(2,3都为素数,所以一开始初始化都为false是可以的)boolean[] isPrime = new boolean[n];int count = 0;for(int i = 2;i <n; i++){if(!isPrime[i]){count++;for(int j = i * i; j < n; j+= i){//素数的倍数都是合数,所以都可以标为true// j从 i*i开始而不是从2*i开始,是因为2~(i-1)前面标记过了// j += i 等价于 j = i * (i + 1)isPrime[j] = true;}}}return count;}

算法:统计n以内素数个数--埃筛法相关推荐

  1. 算法-----求n以内素数(质数)

    求n以内素数(质数). java版 这道题看到一眼就能想到一个for循环,对每个数取余,如果==0,说明能除断,就不是素数(质数). 1.如果用上面的方法去做,当n小的时候,没什么,当n数据大的时候, ...

  2. 10000以内素数个数,不包括10000

    public class Test1 {public static void main(String[] args) {System.out.print("小于10000的素数个数有:&qu ...

  3. 使用容斥原理求1000以内素数个数

    基本思路就是求个合数个数,然后再倒着减,注意1的问题. 合数考虑最小因子不会大于n\sqrt{n}n​,所以规模稍小. 离谱的是,我的亲爱的组合数学老师让我手速1-1000的素数个数,要求交一份lat ...

  4. c语言求1000以内素数个数的方法

    求解的方法有很多,本文只介绍一种比较简单的方法. 算法:当输入的数字 n 不能被 2~(n - 1)整除时,n 为素数            反之,则 n 不为素数  源代码: #include< ...

  5. C语言primcount素数计数,C语言与汇编的嵌入式编程:求100以内素数

    写汇编之前,需要搞清楚C语言代码的写法,这里以最简单的算法举例说明 C代码如下: #include void main(){ int i,j; int count=; for(i=;i<=;i+ ...

  6. 利用包含排斥原理求出给定范围内素数个数的问题

    一.前提 今天上离散数学课上看到一个题目:使用包含排斥原理求不超过120的素数个数,其实按照一般算法是这样的: count = 0 l = [] for x in range(121):#判断如果x是 ...

  7. c语言列出1~100所有素数_一次找出范围内的所有素数,埃式筛法是什么神仙算法?...

    今天这篇是算法与数据结构专题的第23篇文章,我们继续数论相关的算法,来看看大名鼎鼎的埃式筛法. 我们都知道在数学领域,素数非常重要,有海量的公式和研究关于素数,比如那个非常著名至今没有人解出来的哥德巴 ...

  8. 一次找出范围内的所有素数,埃式筛法是什么神仙算法?

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天这篇是算法与数据结构专题的第23篇文章,我们继续数论相关的算法,来看看大名鼎鼎的埃式筛法. 我们都知道在数学领域,素数非常重要,有海量的 ...

  9. 1亿以内素数的个数_算法|找出给定范围的所有素数

    本文参考C++版本:如何高效判定.筛选素数 给定n,我们如何输出n以内(不含n)的所有素数? 使用Python,完成函数体,要求返回n以内的素数个数和这些素数. def countPrimes(n): ...

  10. 【算法学习】找素数的几种算法: 简单穷举, 埃氏筛法, 欧氏筛法, 从O(n2)到O(n)

    文章简介 本文记录寻找素数的几种算法, 本文中的O()没有指明默认表示时间复杂度 代码使用Java 目录 文章简介 正文 穷举计数法(判断O(n)) 优化: 布尔+break(判断 小于O(n)) 优 ...

最新文章

  1. Google提出移动端新SOTA模型MixNets:用混合深度卷积核提升精度
  2. 发布我的第一个flex作品
  3. Magento购物车价格计算的功能实现之代码理解
  4. Javascript 問題汇总(不定期更新)【一】
  5. led显示屏控制卡接线图解_Led显示屏出现花屏是什么原因
  6. 使用CDN时注意的问题
  7. 【论文分享】ACL 2020 图神经网络在自然语言处理中的应用
  8. H5的sessionStorage 和 localStorage
  9. 隔行变色( 表格隔行变色 + LI 浮动隔行变色 )
  10. 程序关闭是总是出异常解决方法
  11. 高效的CSV文本处理利器——univocity-parsers
  12. python生成字典脚本
  13. 威胁猎人|改机工具在黑灰产中的应用
  14. php strpos 性能,PHP中的stristr(),strstr(),strpos()速度比較
  15. 2022世界杯看球指南
  16. ABAQUS均匀受力,边界条件对称,但结果云图不对称
  17. OpenFOAM-v2112安装——很详细
  18. 语义分割介绍和FCN
  19. 数说故事全新官网2.0正式上线,全新视觉焕新升级
  20. PHP技能架构思维导图(高清大图)详解

热门文章

  1. 如何加速android模拟器,Android模拟器运行慢怎么办 Android模拟器如何加速【加速方法】...
  2. C#拾遗补阙【01】:字符串
  3. 浅说物联网之一:物联网圈子的三个玩家
  4. meson test 的 --test-args 参数
  5. Windows许可证过期(‘slmgr.vbs‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件)
  6. 飞机大战python_飞机大战python
  7. Python爬取有道词典
  8. ELMO驱动器与nanotec电机通过compser软件调试PID参数的方式
  9. 简单的路由器设置下一条(小白像)
  10. android studio必须装c盘吗,Android Studio不占用c盘配置