`
悠悠我心2010
  • 浏览: 16640 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

100以内质数

阅读更多
for(int i = 1; i < 100; i++)
{
   int j = 2;
   for( ; j < i; j++)
   {
      if(i%j == 0)
      {
         break;
      }
   }
   if( i == 1 || i == j)
   {
      System.out.println(i);
   }
}

1.       ArrayList<Integer> al = new ArrayList<Integer>();   
2.       al.add(2);  
3.System.out.println(2);  
4.           for (int i = 2; i <= 50000; i++) {    
5.               boolean ok = true;    
6.               for (int t : al) { //用已有质数集作判断,减少比较次数    
7.                   if (i % t == 0) {    
8.                       ok = false;    
9.                       break;    
10.                   }    
11.                   if (t > i / 2) {    
12.                       break;    
13.                   }    
14.               }    
15.               if (ok) {    
16.                   System.out.println(i);  
17.                   al.add(i);  
18.               }    
19.           }   


long start3 = System.currentTimeMillis();  
3.        int[] temp = { 2, 3, 5, 7 };  
4.        label2: for (int i = 2; i <= 100000; i++) {  
5.            for (int j = 0; j < temp.length; j++) {  
6.                if (i % temp[j] == 0)  
7.                    continue label2;  
8.            }  
9.            // System.out.print(i + " ");  
10.        }  
11.        long end3 = System.currentTimeMillis();  
12.        System.out.println("Time is " + (end3 - start3) + " milliseconds");// 15 milliseconds 
分享到:
评论
1 楼 cloverprince 2011-07-18  
筛选法会好一些吧。

相关推荐

Global site tag (gtag.js) - Google Analytics