public class test1{
public static void main(String []args){
boolean flag=false;
long start=System.currentTimerMillis();
for(int i=2;i<=10000;i++){
for(int j=2;j<i;j++){
if(i%j==0){
flag=true;
}
}
if(flag==false){
System.out.println(i);
}
flag=false;
}
long end=System.currentTimeMillis();
System.out.println("所用的时间为"+(end-start));//4398ms
}
}
//所需时间较长,优化如下:
public class test2{
public static void main(String []args){
boolean flag=false;
long start=System.currentTimeMillis();
for(int i=2;i<=10000;i++){
for(int j=2;j<Math.sqrt(i);j++){
if(i%j==0){
flag=true;
break;
}
}
if(!flag){
System.out.println(i);
}
flag=false;
}
long end=System.currentTimeMillis();
System.out.println("所需要的时间为:"+(end-start));//4205ms
}
}
//素数的另一种求法
public class test3{
public static void main(String []args){
int sum=0;
for(int i=0;i<=1000;i++){
for(int j=0;j<i;j++){
if(i%j==0){
sum+=j;
}
}
if(sum==i){
System.out.println(i);
}
sum=0;
}
}
}
输出一个数字区间的素数
最新推荐文章于 2022-11-27 15:59:11 发布