埃拉託斯特尼篩法 Java
埃拉託斯特尼篩法是一種古老的演算法,用於查詢給定數字範圍內的質數。
演算法
1. 從 2 到 n(給定數字)生成整數。

2. 從 2 開始,標記每個第 2 個整數。(2 的倍數)

3. 現在,從 3 開始,標記每個第 3 個整數。(3 的倍數)

4. 最後,從 5 開始,標記每個第 5 個整數。(5 的倍數)

程式
import java.util.Scanner;
public class SievePrimeFactors {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number");
int num = sc.nextInt();
boolean[] bool = new boolean[num];
for (int i = 0; i< bool.length; i++) {
bool[i] = true;
}
for (int i = 2; i< Math.sqrt(num); i++) {
if(bool[i] == true) {
for(int j = (i*i); j<num; j = j+i) {
bool[j] = false;
}
}
}
System.out.println("List of prime numbers upto given number are : ");
for (int i = 2; i< bool.length; i++) {
if(bool[i]==true) {
System.out.println(i);
}
}
}
}輸出
Enter a number 50 List of prime numbers up to given number are : 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
廣告資訊
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP