使用BigInteger型別獲取質數的Java程式


在本文中,我們將學習如何使用BigInteger類Java中生成質數。質數是一個大於1的自然數,不能表示為兩個較小自然數的乘積。這裡,我們使用BigInteger型別,它具有用於模運算、GCD計算、素性測試、素數生成等的運算。

使用BigInteger型別獲取質數的步驟

以下是使用BigInteger型別獲取質數的步驟:

  • 首先,我們將從java.math包中匯入**BigInteger**。
  • 初始化**Demo類**,並從**0**開始計數。
  • 我們將使用While迴圈持續檢查質數,直到達到指定的限制(在本例中為50)。
  • 我們將檢查以下條件:
    • 跳過小於或等於**1**的數字,因為它們不是質數。
    • 使用**BigInteger**的isProbablePrime()方法檢查當前數字是否為質數。
  • 列印找到的每個質數。

使用BigInteger型別獲取質數的Java程式

以下是使用BigInteger型別獲取質數的Java程式:

import java.math.BigInteger;
public class Demo {
   public static void main(String[] args) {
      int val = 0;
      System.out.println("Prime Numbers...");
      while (true) {
         if (val > 50) {
            break;
         }
         if (val > 1) {
            if (new BigInteger(val+"").isProbablePrime(val / 2)) {
               System.out.println(val);
            }
         }
         val++;
      }
   }
}

輸出

Prime Numbers...
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47

程式碼解釋

在程式中,我們首先將變數**val**初始化為0,然後進入一個無限迴圈的**while迴圈**。我們設定一個條件,一旦**val**超過50就跳出迴圈。在迴圈內,我們首先檢查**val**是否大於1以排除非質數候選者。對於每個有效的**val**,我們建立一個新的BigInteger物件,並使用**isProbablePrime()方法**根據給定的確定性(在本例中為val的一半)來確定它是否為質數。如果是質數,我們將其列印到控制檯。

更新於:2024年11月4日

477 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告