JavaSE基础之查找质数
2016-06-01 21:52
239 查看
面试:代码实现1000之内的质数<大于1的自然数中,只能被1和自身整除的数是质数>
实现方式一:基本版<效率低,只是简单实现,后续会更新各阶段加强版实现方式>
下面用最简单的方式实现,应用se的初级阶段需要掌握累加思想和计数器思想实现,效率较为低下
import java.util.*;
public class Demo1 {
public static void main(String[] args){
// 这个集合用于存质数
List<Integer> list = new ArrayList<>();
// 这个集合用于存非质数
List<Integer> list1 = new ArrayList<>();
list.add(2);
list1.add(1);
// 用于记录可以整除的此数,初始化为0
int count = 0;
// 1,2排除后,从3开始
for (int i = 3; i <= 1000; i++) {
// 从2开始做除数判定
for (int j = 2; j < i; j++) {
// 在i%j == 0的时候,计数器增加
if (i % j == 0) {
// 判断能被几个整数相除
count++;
}
}
// 根据count的值判断
if (count == 0) {
list.add(i);
} else {
list1.add(i);
}
// 即刻将count置为0
count = 0;
}
System.out.println("质数个数:" + list.size());
System.out.println("其他个数:" + list1.size());
// 遍历查看结果
for (int i = 0; i < list.size(); i++) {
//打印查看结果
if (i != list.size() - 1) {
System.out.print(list.get(i) + ",");
}else {
System.out.print(list.get(i));
}
}
}
}
实现方式一:基本版<效率低,只是简单实现,后续会更新各阶段加强版实现方式>
下面用最简单的方式实现,应用se的初级阶段需要掌握累加思想和计数器思想实现,效率较为低下
import java.util.*;
public class Demo1 {
public static void main(String[] args){
// 这个集合用于存质数
List<Integer> list = new ArrayList<>();
// 这个集合用于存非质数
List<Integer> list1 = new ArrayList<>();
list.add(2);
list1.add(1);
// 用于记录可以整除的此数,初始化为0
int count = 0;
// 1,2排除后,从3开始
for (int i = 3; i <= 1000; i++) {
// 从2开始做除数判定
for (int j = 2; j < i; j++) {
// 在i%j == 0的时候,计数器增加
if (i % j == 0) {
// 判断能被几个整数相除
count++;
}
}
// 根据count的值判断
if (count == 0) {
list.add(i);
} else {
list1.add(i);
}
// 即刻将count置为0
count = 0;
}
System.out.println("质数个数:" + list.size());
System.out.println("其他个数:" + list1.size());
// 遍历查看结果
for (int i = 0; i < list.size(); i++) {
//打印查看结果
if (i != list.size() - 1) {
System.out.print(list.get(i) + ",");
}else {
System.out.print(list.get(i));
}
}
}
}
相关文章推荐
- SQL2005 性能监视器计数器错误解决方法
- SQL Server中的Forwarded Record计数器影响IO性能的解决方法
- MySQL中实现高性能高并发计数器方案(例如文章点击数)
- asp中用for循环的一个小技巧
- javascript for循环从入门到偏门(效率优化+奇特用法)
- js使用for循环查询数组中是否存在某个值
- js 数组的for循环到底应该怎么写?
- js实现将选中值累加到文本框的方法
- JS 使用for循环遍历子节点查找元素
- For循环中分号隔开的3部分的执行顺序探讨
- 坏狼php学习 计数器实例代码
- js使用for循环及if语句判断多个一样的name
- JavaScript在for循环中绑定事件解决事件参数不同的情况
- js for循环,为什么一定要加var定义i变量
- JavaScript实现找质数代码分享
- shell for循环与数组应用介绍
- 一个shell for循环与case结合的脚本(监控程序状态)
- php实现计数器方法小结
- Lua中的for循环和迭代器的秘密探究
- PHP垃圾回收机制引用计数器概念分析