/*
用篩法求n之前的所有素數
*/
void 素數(int n){
/*
一個數 n 如果是合數,那麼它的所有的因子不超過sqrt(n)--n的開方,
那麼我們可以用這個性質用最直觀的方法來求出小於等於n的所有的素數。
*/
int p = 0;
int[] judge = new int[0];//初始化爲1
int[] prime = new int[0];
for(int i = 2; i < n; i++){
if (judge[i]==1){
prime[p++] = i;
//把當前數的倍數去除掉
for(int j = i; j<=n;j+=i){
judge[j] = 0;
}
}
}
for(int i = 0; i<p; i++){
System.out.println(prime[i]);
}
}
篩法選素數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.