English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請選寫程式,利用篩選法找出1~100之間的質數 所謂的篩選法是這樣的,如果尋找 1 - n 之間之質數. n 由 執行時下參數讀入程式. 步驟如下:
(1)宣告一個有n+1個元素的Boolean陣列
(2)將每個元素的値都設為true
(3)以2的倍數為索引碼,將索引碼所指的元素設為false;再以3的倍數為索引碼,重
復同樣的動作,依此類推,一直到sqr(n) 為止
(4)陣列中元素値為true的索引碼就是質數
請選寫以上程式!!

2005-11-14 10:25:33 · 1 個解答 · 發問者 體貼專愛 2 in 電腦與網際網路 程式設計

1 個解答

應該是這樣寫吧...這方法不錯,應該比傳統的方法快多了...
又學到了一招.. ^^

public class primeNum
{
public static int MAX_NUM = 101;

public static void main(String []args){
int i,j,k,count=0;
boolean Num[]=new boolean[MAX_NUM];
boolean flag = true;
for(i=0;i for(i=2;i for(j=2;i*j Num[i*j]=false;
}

for(i= 1;i if(Num[i]){
++count;
System.out.println(i);
}
}
System.out.println("共有"+count+"個質數");
}
}

2005-11-18 15:31:59 · answer #1 · answered by Alex 2 · 0 0

fedest.com, questions and answers