leetcode解题之204 # Count Primes Java版 (1到n之间质数的个数,埃拉托色尼筛选法)
来源:互联网 发布:九一三事件知乎 编辑:程序博客网 时间:2024/05/16 14:06
204. Count Primes
Description:
Count the number of prime numbers less than a non-negative number,n.
统计小于非负整数n的素数的个数。
使用见埃拉托色尼筛法。
(1)先把1删除(现今数学界1既不是质数也不是合数)
(2)读取队列中当前最小的数2,然后把2的倍数删去(3)读取队列中当前最小的数3,然后把3的倍数删去
(4)读取队列中当前最小的数5,然后把5的倍数删去
(5)如上所述直到需求的范围内所有的数均删除或读取
public int countPrimes(int n) {if (n <= 1) {return 0;}// 默认所有的元素值都会设置为false,boolean初始值为falseboolean[] notPrime = new boolean[n];notPrime[0] = true;notPrime[1] = true;for (int i = 2; i * i < n; i++) {if (!notPrime[i]) {// 如果i是一个质数, 将i的倍数设置为非质数,//j += i相当于i的3倍,4倍……for (int j = 2 * i; j < n; j += i) {notPrime[j] = true;}}}// 统计质数的个数int result = 0;for (boolean notPri : notPrime) {if (!notPri) {result++;}}return result;}
0 0
- leetcode解题之204 # Count Primes Java版 (1到n之间质数的个数,埃拉托色尼筛选法)
- Count Primes (质数的个数)
- LeetCode OJ 之 Count Primes(计算素数的个数)
- 204.Count Primes(1-N中,素数的个数)
- [LeetCode-204] Count Primes(0~n 有多少个质数—4种方法求解)
- hdu5901Count primes+Lehmer求1-n的质数个数
- LeetCode 204 Count Primes(质数计数)(*)
- <LeetCode><Easy> 204 Count Primes --找素数/质数 (?)
- (LeetCode)Count Primes --- 统计素数(质数)
- 【LeetCode-面试算法经典-Java实现】【204-Count Primes(统计质数)】
- java求1到n之间的质数 java求1到100之间的质数
- java实现求1到n之间的质数
- LeetCode--Count Primes(素数个数)Python
- 求1到N之间的质数
- LeetCode: Count Primes(计算n以内素数个数:高效算法)
- LeetCode-Count Primes-解题报告
- 【LeetCode】 Count Primes 解题报告
- Count Primes [LeetCode 解题报告]
- python安装完毕后,用pip安装 提示找不到ssl模块
- 进程与线程
- css基础
- VMware Workstation安装CentOS7.0 图文版
- 64位Ubuntu安装32位工具不过的问题
- leetcode解题之204 # Count Primes Java版 (1到n之间质数的个数,埃拉托色尼筛选法)
- std::map等容器 谓词 _Pr使用lambda 出错
- 用Python读取Word文档并写入Excel(一)
- ArcEngine开发 TOCC中“图层”标记不显示问题
- R语言使用RJDBC包连接MySql、Oracle数据库
- sklearn PCA使用
- 详解值传递和引用传递
- HDU-1213 How Many Tables
- 特性---封装