首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

100之内质数

2012-11-10 
100以内质数for(int i 1 i 100 i++) {int j 2for( j i j++){if(i%j 0){break}}if( i

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   筛选法会好一些吧。

热点排行