public class PrimeNumber {
/**
* 寻找不大于N的质数
*/
public static void main(String[] args) {
int n=100;
PrimeNumber pn=new PrimeNumber();
pn.printPrimeNumber(n);
System.out.println();
pn.printPrimeNumber2(n);
}
public void printPrimeNumber(int n){
int i=2;
while(i<=n){
if(isPrimeNumber(i)){
System.out.print(i+",");
}
i++;
}
}
//Solution 1
//it's not a good solution
public boolean isPrimeNumber(int x){
boolean re=true;
for(int i=2;i*i<=x;i++){
if(x%i==0){
re=false;
break;
}
}
return re;
}
//Solution 2
//i--> 2 to sqrt(n)
//delete i*2,i*3.....i*sqrt(n)
public void printPrimeNumber2(int n){
boolean[] a=new boolean[n+1];
for(int i=2;i<=n;i++){
a[i]=true;
}
for(int i=2;i*i<=n;i++){
for(int j=i;j*i<=n;j++){
a[j*i]=false;
}
}
for(int i=0;i<n;i++){
if(a[i]){
System.out.print(i+",");
}
}
}
}
分享到:
相关推荐
java代码-使用java编写程序打印出N以内的素数的源代码 ——学习参考资料:仅用于个人学习使用!
【Java】求1-100范围内的素数递归方法代码例子。分享,感谢。
java代码-输入N,输出大于N的质数
java代码-使用java解决输出1000以内最大的n个质数及其和。输出形式“质数1+质数2+...+质数n=的源代码 ——学习参考资料:仅用于个人学习使用!
java作业 质数 马克-to-win java视频 prime的详细介绍
java 打印出100以内的素数
计算机后端-Java-Java核心基础-第06章 Java基本语法4 16. 质数输出的实现方式二.avi
java实现--输出给定范围内的质数。。。。。。。。。。。
输出100-1000之间的所有素数,用C++写的,完全正确!
素数又叫质数,质数是指在大于1的自然数中,除了1和它本身以外,不能被其他自然数整除的数。 问题: 输入一个整数n,输出1~n中的素数,里有详细解释,有问题也欢迎留言!谢谢支持啦~
java代码-使用java解决求正整数n以内的所有质数个数并给出计算时间的源代码 ——学习参考资料:仅用于个人学习使用!
[Java算法练习]-求100以内的素数.java
简单java示例 需要的朋友可以下载参考 有注释
Java源码,输出1-100之间所有的质数 可以直接放进去用... 改一下包名就Ok了
求解第N个质数(第N个素数)vs2010项目计算时间差不多 用的是试除法
C语言程序设计-求大于lim(lim小于100的整数)并且小于100的所有素数并放在aa数组中,该函数返回所求出素数的个数
打印出100以内的质数,使用Java语言完成。实现过程很简单。适合初学者参考和练习。有需要的小伙伴自行下载,如有问题可评论区讨论,回答。
Java:打印出100以内的质数
java编写的一个猜素数的小程序,输入一个整数,判断是否是素数