java素数对算法_Java版本 质数(也叫素数)算法
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版本 质数(也叫素数)算法相关推荐
- java判断一个数是不是质数(素数)
质数又称为素数,定义如下: 质数.一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数.如2,3,5,7,11,13,17-. 代码实例: import java.util.Sc ...
- java 算法_Java 浅谈数据结构和算法
以前不管自己还是朋友在面试java工程师岗位的时候,都会被问到这样的问题: "介绍下java中的数据结构和算法". 很多朋友被问到的时候发现无从下口,甚至特别是一些初级java工程 ...
- java合并排序_Java中的合并排序算法
合并排序算法是一种分而治之的算法.在分而治之的范式中,一个问题被分解成较小的问题,其中每个小问题仍然保留着大问题的所有属性--大小除外.为了解决原始问题,每个部分都是单独解决的,然后这些部分又合并在一 ...
- java 红包算法_JAVA实现拼手气红包算法
实现拼手气红包算法,有以下几个需要注意的地方: 抢红包的期望收益应与先后顺序无关 保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如 ...
- 算法java语言描述_java语言描述数据结构与算法崔笑颜的博客
java语言描述数据结构与算法崔笑颜的博客 冒泡排序 插入排序 选择排序 希尔排序 快速排序 归并排序 二分查找package com.demo.test; import java.util.Arra ...
- java快速查找算法_Java实现的快速查找算法示例
本文实例讲述了Java实现的快速查找算法.分享给大家供大家参考,具体如下: 快速查找算法,可以根据想要找的是第几个大的数,每次循环都能固定下来一个数在数组完整排完序之后的位置,每次循环都能定一个数的位 ...
- java md5包_JAVA中有没有提供MD5算法的包啊?
拉莫斯之舞 有,在java.security包的MessageDigest类.例子:import java.security.MessageDigest;public class Test2 {pub ...
- java统计词频算法_java实现的统计字符算法示例
本文实例讲述了java实现的统计字符算法.分享给大家供大家参考,具体如下: 统计字符: 概述:给定字符串,将它们进行分类,分别的去统计它们的个数及其字符 分类的有:字母 数字 中文 空格 等等 算法思 ...
- java简述垃圾回收原理及算法_Java垃圾回收原理和算法
·内存管理 Java的内存管理很大程度指的就是对象的管理,其中包括对象空间的分配和释放. 对象空间的分配:使用new关键字创建对象即可 对象空间的释放:将对象赋值null即可.垃圾回收器将负责回收所有 ...
最新文章
- Node-Web应用框架Express
- OpenCV 霍夫圆检测
- CTFshow php特性 web96
- MongoDB数据库的创建与删除
- 干货 | 金融级消息队列的演进 — 蚂蚁金服的实践之路
- 用ASP.NET 重绘TabControl代码
- 解题报告——蓝桥 试题 基础练习 矩阵乘法——27行代码AC
- ACM训练总结(大二)
- comptia a+_我如何通过CompTIA Linux +考试
- 关于linux低端内存
- 【LOJ】#3090. 「BJOI2019」勘破神机
- 分享一个外贸客户案例
- Java项目:16款java游戏(java+swing)
- iptables结合ipset禁止国外IP进行访问
- Linux ASPM 问题一个适合的解决方案
- [528]attrib隐藏文件夹
- 如何在UE5中重建哥特式建筑场景?
- A20在Linux中Livesuit不能烧写问题
- emu8086 不支持用 ? 来定义 数据
- 【数据分析】——Excel图表
热门文章
- 微型计算机系统中,prom是,微型计算机系统中,PROM是A.可读写存储器B.动态随机存取存储器C.只读存储器D.可编程只读存储器...
- 我们如何研发了世界上最酷的调车内燃机车自动驾驶系统
- 创建新环境后,如何在Jupyter Notebook中使用新环境?
- 【Go资料】go语言学习资料书籍
- python编制剪刀石头布游戏_Python编辑剪刀石头布游戏
- 现代密码学(五)——零知识证明
- 【09年特长生第四题】开发区规划
- 想知道自己30分钟能“走”多远嘛?
- 数学系小仙女不写代码求“破圈”,一年把华为这个社区做火了
- TensorRT 推理时提示This container was built for NVIDIA Driver Release 470.42 or later 解决方法