第一种方式
public class Sushu {
public static void main(String[] args) {
int j;
boolean flag;
for(int i=2;i<1000;i++){
flag=false;
for(j=2;j<i;j++){
if(i%j==0){
flag=true;
break;
}
}
if(flag==false){
System.out.print(i+" ");
}
}
}
}
第二种方式
public class Sushu {
public static void main(String[] args) {
int j;
boolean flag;
for(int i=2;i<1000;i++){
flag=false;
for(j=2;j<i/2;j++){
if(i%j==0){
flag=true;
break;
}
}
if(flag==false){
System.out.print(i+" ");
}
}
}
}
第三种方式
public class Sushu {
public static void main(String[] args) {
int j;
boolean flag;
for(int i=2;i<1000;i++){
flag=false;
for(j=2;j<=Math.sqrt(i);j++){
if(i%j==0){
flag=true;
break;
}
}
if(flag==false){
System.out.print(i+" ");
}
}
}
}
本文提供了三种不同的Java程序实现来生成从2到1000之间的所有素数。第一种方法通过检查每个数字是否能被比它小的所有数字整除;第二种方法优化了检查范围到该数字的一半;第三种方法进一步优化到了该数字平方根的范围。
418

被折叠的 条评论
为什么被折叠?



