為了構建一個包含所有小於或等於 m 的質數的 PrimeAry 陣列,我們需要結合前述的 IsPrime 函數。以下是一個簡單的實作方法,這裡將會使用 Java 語言,並假設 IsPrime 函數已經被定義且可用。
java
import java.util.ArrayList;
import java.util.List;
public class PrimeArrayBuilder {
// 假設 IsPrime 函數已被定義
// 因為 IsPrime 函數的具體實現不在此處,以下將提供一個簡單的實現用於示範
public static boolean IsPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
// BuildPrime 函數用於建立包含所有小於或等於 m 的質數的 PrimeAry 陣列
public static int[] BuildPrime(int m) {
// 使用 List 來動態添加質數,因為我們事先不知道有多少質數
List<Integer> primes = new ArrayList<>();
for (int i = 2; i <= m; i++) {
if (IsPrime(i)) {
primes.add(i);
}
}
// 將 List 轉換為陣列
int[] PrimeAry = primes.stream().mapToInt(i -> i).toArray();
return PrimeAry;
}
public static void main(String[] args) {
// 測試 BuildPrime 函數
int m = 10;
int[] PrimeAry = BuildPrime(m);
System.out.print("PrimeAry for m = " + m + ": ");
for (int prime : PrimeAry) {
System.out.print(prime + " ");
}
}
}
在這段程式碼中,BuildPrime 函數首先創建一個空的 ArrayList,用於存儲找到的質數。然後,它透過從 2 到 m 的迴圈,使用 IsPrime 函數檢查每個數字是否為質數。如果是,則將其添加到列表中。迴圈結束後,使用 Java 8 的流(Stream)API 將 ArrayList 轉換成陣列。
最後,在 main 函數中測試 BuildPrime 函數,並列印出結果來驗證其正確性。這樣就可以建立一個包含所有小於或等於 m 的質數的陣列了。