java求质数(素数)的快速算法
public static List<Integer> ListPrime(int n) { /* * false为质数,true为合数 */ boolean[] primeList = new boolean[n + 1];
for (int i = 2; i <= n; i++) { if (!primeList[i]) {
int j = i * i;
if (j > n) // 所有合数都已被标记 break; if (i > 2) { /* * 将所有能被此质数整除的奇数标记为合数 */ while (j <= n) { primeList[j] = true; j = j + i + i; } } else { /* * 将所有大于2的偶数标记为合数 */ while (j <= n) { primeList[j] = true; j = j + i; } } } } List<Integer> listPrime = new LinkedList<Integer>(); if( n > 1 ) listPrime.add(2); for (int i = 3; i <= n; i += 2) { if (!primeList[i]) { listPrime.add(i); } } System.out.println(listPrime.size()); return listPrime; }
java求质数(素数)的快速算法相关推荐
- python求素数积_用Python求素数的快速算法源码示例
本篇文章为Python算法相关,用Python求素数的快速算法源码示例.算法在Python的学习中算是一个要点,能研究明白算法的同学都可以算的上是Python的大牛了. 首先简单的来说下什么是素数:质 ...
- Java求三个数的最小公倍数算法改进(化境)
之前在<Java求3个数的最小公倍数LCM,要求LCM小于11亿时计算结果正确(在CPU性能小于1.8GHz的情况下)>一文中"避免了之前的算法最大计算量的情况"(相对 ...
- python实现求质数(素数)
python实现求质数(素数) 素数(质数):我们把公约数只有1和它本身的数字称为素数又称为质数,具体使用python的求法如下: num = [] # 定义一个空列表用来接收找到的符合条件的数字 f ...
- 用Java求质数(素数)等问题
质数,又称素数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 简单理解就是质数是一个大于1的自然数,除了1和它自身外,不能被其他自然数整除: 否则称为合数(规定1既不是质数也不是 ...
- 判断素数或者求出素数的基本算法 《挑战程序设计竞赛》
2018-2-28 首先我们得明确一个概念,那就是什么是素数,据我的了解,素数就是除了1和它本身之外,不存在其他的因数的数. 1.素性测试 判断给定的数n是否是素数 这应该是最简单的了,直接从2至n, ...
- Java 洛谷 求质数(素数)、合数、因数、最大公约数、最小公倍数
什么是因数? "因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数.而小学数学定义 :假如a*b=c(a.b.c都是整数),那么我们称a和b就是c的因数.&q ...
- java中求质数(素数)的问题
1.什么是质数? 定义:质数又称为素数,一个大于1的自然数,除了1和它自身之外,不能被其他任何自然数整除的数叫质数. 2.请输出1~100之间的所有的质数? 3.思路: <1>外层循环作为 ...
- java求公式例题_JAVA经典算法40题
1: JAVA经典算法40题 2: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 3 ...
- 求组合数的算法 java,求一个整数的组合数算法(java)
开始需求: 产生一堆数字. 然后我输入一值,这个值等于这些数中的一个,或是任意多个数的和.但只能是其中一种情况. 比如我输入8.这些数里面,可以直接有8. 也可以是1+2+5 的和,也可以是 1+7 ...
最新文章
- vb.net与matlab的混合编程
- 张亚勤:深度学习更近一步,如何突破香农、冯诺依曼和摩尔瓶颈?
- mysql 执行sql导出表格形式
- HDU - 6214 Smallest Minimum Cut(最小割最少边数)
- 计算机图形学基础期末考试试题,计算机图形学基础_试卷(B)答案
- Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 359404 bytes) in
- new Vue 发生了什么?
- 优秀java程序员-利器-eclipse-01 快捷键
- 记忆不可靠,要相信证据:我明明已经提交了
- 汉诺塔递归算法python详细解析图_汉诺塔递归算法分析过程
- c语言求解一元二次方程的复根,c语言 求一元二次方程的根(含复根)
- 图像处理:根据像素坐标及像素尺寸大小裁剪遥感影像
- nagios 监控内存和CPU,磁盘等使用情况
- 需求分析(团队作业3)
- Android -- 创建数据库到SD卡
- Java 10年回顾:世界各地开发高手谈Java
- e-mobile服务器地址显示无法登陆,E-Mobile服务器安装设置手册.doc
- 目标检测——梯度均衡机制GHM(Gradient Harmonized Mechanism)的理解
- 二进制 八进制 十进制 十六进制
- 公司年会上进版小品——谁杀死了周日