使用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的一半)來確定它是否為質數。如果是質數,我們將其列印到控制檯。
廣告