java找出1~1000中素数的三种方式

第一种:

 1 public class Sushu {
 2   public static void main(String[] args) {
 3   // TODO Auto-generated method stub
 4     int j;
 5     boolean flag;
 6     for(int i=2;i<1000;i++){
 7       flag=false;
 8       for(j=2;j<i;j++){
 9         if(i%j==0){
10         flag=true;
11         break;
12         }
13       }
14       if(flag==false){
15         System.out.print(i+"    ");
16       }
17     }
18   }
19 }

 

第二种:

 1 public static void main(String[] args) {
 2   // TODO Auto-generated method stub
 3   int j;
 4   boolean flag;
 5   for(int i=2;i<1000;i++){
 6     flag=false;
 7     for(j=2;j<i/2;j++){
 8       if(i%j==0){
 9         flag=true;
10         break;
11       }
12     }
13     if(flag==false){
14       System.out.print(i+"    ");
15     }
16   }
17 }

 

第三种:

 1 public class Sushu {
 2   public static void main(String[] args) {
 3     // TODO Auto-generated method stub
 4     int j;
 5     boolean flag;
 6     for(int i=2;i<1000;i++){
 7       flag=false;
 8       for(j=2;j<=Math.sqrt(i);j++){
 9         if(i%j==0){
10           flag=true;
11           break;
12         }
13       }
14       if(flag==false){
15         System.out.print(i+"    ");
16       }
17     }
18   }
19 }

 

推荐使用第三种效率更高

posted on 2016-09-22 14:22  允我心安  阅读(51387)  评论(3编辑  收藏  举报