int MaxNum = 100000; // 查找 2到MaxNum 这范围内的素数 ( MaxNum 要>= 2 ).

int i, j; // 计数器.

int PrimeTemp [] = new int [MaxNum]; // 在这个数组做记号, 做了记号的, 全不是素数.

ArrayList result = new ArrayList (); // 贮存素数的 数组. 因为 MaxNum >= 2, 所以第一个数组元素的值为 2 .

result.add(2);

double oNum = Math.ceil( Math.sqrt( MaxNum ) ); // 为什么用 开方? 看到下面2个 for 没.

// 把不是素数的做 "记号".

// +=2 我们整个程序都不用双数, 全用单数, 这样就快2倍了.

for(i = 3; i < oNum; i += 2) {

// 初始化 PrimeTemp 的数组, 数组里面当然什么都没有.

if(PrimeTemp[i] == 0 ) {

// i 的 j 倍一定不是素数, 但我们要 i*j 来看看是否超过了 MaxNum

for( j = i; i * j <= MaxNum; j += 2) {

PrimeTemp[ i*j ] = -1; // 初始化 PrimeTemp 里的元素, 现在来帮它们做一个 "记号". 因为这个元素"不是"素数.

}

}

}

// 输出素数了.

// +=2 ,不要忘记, 我们不用双数的.

for(i = 3; i <= MaxNum; i += 2) {

// 如果是 true , 这就表明 这个没有被做 "记号" , 所以它是 素数.

if(PrimeTemp[i] == 0 ) {

result.add(i);

}

}

for (int k = 0; k < result.size(); k++) {

System.out.println(result.get(k));

}

java素数对算法_Java版本 质数(也叫素数)算法相关推荐

  1. java判断一个数是不是质数(素数)

    质数又称为素数,定义如下: 质数.一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数.如2,3,5,7,11,13,17-. 代码实例: import java.util.Sc ...

  2. java 算法_Java 浅谈数据结构和算法

    以前不管自己还是朋友在面试java工程师岗位的时候,都会被问到这样的问题: "介绍下java中的数据结构和算法". 很多朋友被问到的时候发现无从下口,甚至特别是一些初级java工程 ...

  3. java合并排序_Java中的合并排序算法

    合并排序算法是一种分而治之的算法.在分而治之的范式中,一个问题被分解成较小的问题,其中每个小问题仍然保留着大问题的所有属性--大小除外.为了解决原始问题,每个部分都是单独解决的,然后这些部分又合并在一 ...

  4. java 红包算法_JAVA实现拼手气红包算法

    实现拼手气红包算法,有以下几个需要注意的地方: 抢红包的期望收益应与先后顺序无关 保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如 ...

  5. 算法java语言描述_java语言描述数据结构与算法崔笑颜的博客

    java语言描述数据结构与算法崔笑颜的博客 冒泡排序 插入排序 选择排序 希尔排序 快速排序 归并排序 二分查找package com.demo.test; import java.util.Arra ...

  6. java快速查找算法_Java实现的快速查找算法示例

    本文实例讲述了Java实现的快速查找算法.分享给大家供大家参考,具体如下: 快速查找算法,可以根据想要找的是第几个大的数,每次循环都能固定下来一个数在数组完整排完序之后的位置,每次循环都能定一个数的位 ...

  7. java md5包_JAVA中有没有提供MD5算法的包啊?

    拉莫斯之舞 有,在java.security包的MessageDigest类.例子:import java.security.MessageDigest;public class Test2 {pub ...

  8. java统计词频算法_java实现的统计字符算法示例

    本文实例讲述了java实现的统计字符算法.分享给大家供大家参考,具体如下: 统计字符: 概述:给定字符串,将它们进行分类,分别的去统计它们的个数及其字符 分类的有:字母 数字 中文 空格 等等 算法思 ...

  9. java简述垃圾回收原理及算法_Java垃圾回收原理和算法

    ·内存管理 Java的内存管理很大程度指的就是对象的管理,其中包括对象空间的分配和释放. 对象空间的分配:使用new关键字创建对象即可 对象空间的释放:将对象赋值null即可.垃圾回收器将负责回收所有 ...

最新文章

  1. Node-Web应用框架Express
  2. OpenCV 霍夫圆检测
  3. CTFshow php特性 web96
  4. MongoDB数据库的创建与删除
  5. 干货 | 金融级消息队列的演进 — 蚂蚁金服的实践之路
  6. 用ASP.NET 重绘TabControl代码
  7. 解题报告——蓝桥 试题 基础练习 矩阵乘法——27行代码AC
  8. ACM训练总结(大二)
  9. comptia a+_我如何通过CompTIA Linux +考试
  10. 关于linux低端内存
  11. 【LOJ】#3090. 「BJOI2019」勘破神机
  12. 分享一个外贸客户案例
  13. Java项目:16款java游戏(java+swing)
  14. iptables结合ipset禁止国外IP进行访问
  15. Linux ASPM 问题一个适合的解决方案
  16. [528]attrib隐藏文件夹
  17. 如何在UE5中重建哥特式建筑场景?
  18. A20在Linux中Livesuit不能烧写问题
  19. emu8086 不支持用 ? 来定义 数据
  20. 【数据分析】——Excel图表

热门文章

  1. 微型计算机系统中,prom是,微型计算机系统中,PROM是A.可读写存储器B.动态随机存取存储器C.只读存储器D.可编程只读存储器...
  2. 我们如何研发了世界上最酷的调车内燃机车自动驾驶系统
  3. 创建新环境后,如何在Jupyter Notebook中使用新环境?
  4. 【Go资料】go语言学习资料书籍
  5. python编制剪刀石头布游戏_Python编辑剪刀石头布游戏
  6. 现代密码学(五)——零知识证明
  7. 【09年特长生第四题】开发区规划
  8. 想知道自己30分钟能“走”多远嘛?
  9. 数学系小仙女不写代码求“破圈”,一年把华为这个社区做火了
  10. TensorRT 推理时提示This container was built for NVIDIA Driver Release 470.42 or later 解决方法