题目:计数质数

给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。

示例 1:

输入:n = 10
输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
示例 2:

输入:n = 0
输出:0
示例 3:

输入:n = 1
输出:0

提示:

0 <= n <= 5 * 106

解决方法:(埃氏筛)

思路:
算法由希腊数学家厄拉多塞(\rm EratosthenesEratosthenes)提出,称为厄拉多塞筛法,简称埃氏筛。
我们考虑这样一个事实:如果 xx 是质数,那么大于 xx 的 xx 的倍数 2x,3x,\ldots2x,3x,… 一定不是质数,因此我们可以从这里入手。

    public int countPrimes2(int n){//create cacheint[] ints = new int[n];//fill  1Arrays.fill(ints,1);//for 2...nint result = 0;for (int i = 2;i < n;i ++){//if cache[i] == 1  set i*i = 0 then i=i*i+iif (ints[i] == 1){//System.out.println(i);result++;//负数会搞乱质数的工作进程  因为会发生 j += iif ((long)i * i < n) {for (int j = i * i; j < n; j += i) {ints[j] = 0;}}}}return result;}

参考:
https://leetcode-cn.com/problems/count-primes/solution/ji-shu-zhi-shu-by-leetcode-solution/

算法---计数质数(Java)相关推荐

  1. 每天Leetcode 刷题 初级算法篇-数学问题-计数质数

    题目要求: 力扣题解: 代码 import java.util.Arrays;/*** @program: mydemo* @description: 力扣-数学-计数质数* @author: Mr. ...

  2. Java实现 蓝桥杯VIP 算法提高 质数的后代

    算法提高 质数的后代 时间限制:1.0s 内存限制:256.0MB 问题描述 在上一季里,曾提到过质数的孤独,其实从另一个角度看,无情隔膜它们的合数全是质数的后代,因为合数可以由质数相乘结合而得. 如 ...

  3. Java Jvm 中的垃圾回收机制中的思想与算法 《对Java的分析总结》-四

    Java中的垃圾回收机制中的思想与算法 <对Java的分析总结>-四 垃圾回收机制 中的思想与算法 引用计算法 给对象中添加一个引用计数器,每当一个地方引用它的时候就将计数器加1,当引用失 ...

  4. 【LeetCode】计数质数 [M](素数筛选)

    204. 计数质数 - 力扣(LeetCode) 一.题目 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 . 示例 1: 输入:n = 10 输出:4 解释:小于 10 的质数一共有 4 ...

  5. 数据结构与算法基础(java版)

    目录 数据结构与算法基础(java版) 1.1数据结构概述 1.2算法概述 2.1数组的基本使用 2.2 数组元素的添加 2.3数组元素的删除 2.4面向对象的数组 2.5查找算法之线性查找 2.6查 ...

  6. Day5:计数质数(埃拉托色尼筛选法)

    leetcode地址:https://leetcode-cn.com/problems/count-primes/ Day5:计数质数 一. 问题背景: 统计所有小于非负整数 n 的质数的数量. 二. ...

  7. 筛法快速求素数——leetcode计数质数

    在算法竞赛中经常会遇到求质数的问题,这种题目一般都是要求出一定范围内[0,n]所有的质数或者质数的个数.最直接的思路就是根据质数的定义来判定一个数是不是质数(即一个数不能被除1和它本身外的任何数整除) ...

  8. 排序算法总结和java实现

    排序算法总结和java实现 0.排序算法说明 0.1 排序的定义 0.2 术语说明 0.3 算法总结 0.4 算法分类 0.5 比较和非比较的区别 1.冒泡排序 1.1 算法描述 1.2 动图演示 1 ...

  9. java和c 的rsa加密算法_RSA算法签名技术Java与C++统一(加密解密结果一样)

    RSA算法签名技术Java与C++统一 (加密解密结果一样) 源代码下载地址:http://www.doczj.com/doc/64f44a94a0116c175f0e484d.html/produc ...

最新文章

  1. ie8恶心的bug--4个小时的教训
  2. 如何识别高级的验证码
  3. 用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践
  4. gdb 10.2的安装
  5. ArrayList的remove方法(重写equals方法) 与LinkedList的常用操作
  6. 从客户端*****中检测到有潜在危险的 Request.Form 值。
  7. OpenCV调整图像的亮度
  8. 命名实体识别实践 - CRF
  9. ansys19.2安装教程
  10. Tapestry5项目的导入
  11. 数学魔鬼表达式——第二天
  12. 数据库锁,事务特性,脏读,幻读,不可重复度,隔离级别,分布式事务,本地事务的介绍
  13. ubuntu 安装dep文件
  14. operate new、delete new和placement new
  15. 计算机专业学习自然辩证法,深度学习 自然辩证法
  16. Springboot宠物医院系统
  17. goto加密php,PHP文件解密求大神思路,PHP加密后有大量goto语句
  18. OC--Foundation--数组
  19. 网易平台服务器修改魔兽,魔兽世界怀旧服:网易用这种手段分流玩家 工作室笑了,我们哭了...
  20. 基于优化的多核局部费舍尔判别分析的故障分类

热门文章

  1. php模拟getua_php实现进行远程抓取百度网页内容,并伪装服务器端ip
  2. matlab 转动惯量 叠加,一种汽车动力总成系统转动惯量合成方法
  3. python列表输入不加逗号_用python打印不带括号或逗号的列表
  4. 记录一下有关ChArUco标定板
  5. 单应性矩阵求解函数findHomography()
  6. 网络端口的分类和作用
  7. python全栈开发 * 表格标签 表单标签 css 引入方式 * 180807
  8. Python技巧之函数拆包裹
  9. J0ker的CISSP之路:复习Access Control(10)
  10. 数据库事务的悲观锁和乐观锁