public class PrimeNumber {
/**
* 寻找不大于N的质数
*/
public static void main(String[] args) {
int n=100;
PrimeNumber pn=new PrimeNumber();
pn.printPrimeNumber2(n);
}
//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+",");
}
}
}
}
寻找不大于N的质数
最新推荐文章于 2023-04-18 21:55:46 发布