首頁  >  文章  >  Java  >  Java 中的素數

Java 中的素數

PHPz
PHPz原創
2024-08-30 16:27:43299瀏覽

這篇文章是關於 Java 中的質數。質數是一種只能被單位和數字本身整除的數字。它不能被任何其他數字整除。質數是特殊類型的數字。數字的例外是 1 和 2。1 是唯一既不是質數也不是合數的數字。 2是自然界中唯一的偶數素數。質數的反義詞是能被數本身以外的數整除的數。合數和質數是相反的。一般來說,除了數字 2 之外,質數都是奇數。奇數不一定就是質數,因為它可能被 3 和任何其他奇數整除。

Java 中的質數範例

下面是在java中實現素數的例子:

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

範例 #1 – 使用 For 迴圈

在第一個編碼範例中,我們將檢查一個數字是否為素數。我們首先使用緩衝讀取器流輸入輸入數字。然後我們有一個 for 循環,在其中我們將檢查該數字是否可以被除 1 和任何其他數字之外的任何其他數字整除。 for迴圈從2開始,然後循環直到對應數字的一半。然後我們有一個變數來報告該數字是否可以被任何數字整除,這是循環的一部分。程式碼和循環部分如下所示,它輸入一個數字並給出相應的輸出,無論該數字是否為素數。程式中導入了java.io.*,因此後面的程式碼行中出現了輸入/輸出操作。另外,如果存在 IOException,則對其進行不同的處理。我們在 main 聲明後給出了 throws IO Exception 命令,該命令拋出輸入/輸出操作期間發生的異常。除此之外,程式中使用了一些有意義的名稱,供任何閱讀該程式的人理解。

代碼:

import java.io.*;
public class Prime
{
public static void main(String[] args) throws IOException
{
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.println("ENTER A NUMBER TO CHECK IF IT IS PRIME OR NOT");
int num= Integer.parseInt(br.readLine());
boolean count = false;
for(int i = 2; i <= num/2; ++i)
{
// condition for nonprime number
if(num % i == 0)
{
count = true;
break;
}
}
if (!count)
System.out.println(num + " is a prime number.");
else
System.out.println(num + " is not a prime number.");
}
}

輸出:

Java 中的素數

Java 中的素數

程式碼說明:在輸出中,我們檢視輸入的數字是否為質數。首先,我們輸入 29 作為數字來檢查它是否是質數。我們發現 29 是質數,因為它只能被單位數和該數本身整除。除此之外,它不能被任何其他數字整除。

其次,我們輸入另一個數字來檢查該數字是否為質數。我們輸入 58 作為數字,然後檢查該數字是否為質數。最後我們發現58不是素數,而是合數。它是除 1 和數字本身之外能被 2、29 整除的偶數。

範例 #2 – 使用 While 迴圈

在編碼範例中,我們將看到如何使用 While 迴圈來檢查數字是否為質數。我們使用與 for 迴圈相同的邏輯,但我們對程式有不同的看法。

代碼:

import java.io.*;
public class PrimeNumber
{
public static void main(String[] args)throws IOException
{
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.println("ENTER A NUMBER TO CHECK IF IT IS PRIME OR NOT");
int num= Integer.parseInt(br.readLine());
int i = 2;
boolean count = false;
while(i <= num/2)
{
// condition for nonprime number
if(num % i == 0)
{
count = true;
break;
}
++i;
}
if (!count)
System.out.println(num + " is a prime number.");
else
System.out.println(num + " is not a prime number.");
}
}

輸出:

Java 中的素數

Java 中的素數

程式碼說明: 在範例輸出中,我們輸入兩個奇數來檢查數字是否為質數。我們輸入 71 和 37 作為兩個數字,最後發現這兩個數字都是質數,因為它們只能被 1 和數字本身整除。

範例 #3 – 使用計數

在此編碼範例中,我們將檢查數字範圍內的質數。我們輸入最小數 20 和最大數 50,然後找出該範圍內的質數。這是一個非常簡單的程序,只需更改 min 和 max 變量,我們就可以找到 min 和 max 變數之間的質數。編碼範例如下圖所示。

代碼:

import java.io.*;
public class PrimeRange
{
public static void main(String[] args)
{
int min = 20, max = 50;
while (min < max) {
boolean count = false;
for(int i = 2; i <= min/2; ++i) {
// condition for nonprime number
if(min % i == 0) {
count = true;
break;
}
}
if (!count)
System.out.print(min + " ");
++min;
}
}
}

輸出:

Java 中的素數

程式碼說明: 在上面的程式碼中,我們找到 20 到 50 之間的質數的個數。我們找出只能被單位和數字本身整除的數字。質數為 23、29、31、37、41、43 和 47。程式碼使用單一 for 迴圈,用於檢查數字是否可以被對應的 for 迴圈控制變數整除。如果該數可被整除,則它是合數,如果該數不可整除,則它是質數。

結論

在本文中,我們看到質數使用 for 迴圈和 while 迴圈進行工作。此外,我們也看到存在於一定範圍內的質數。使用 for 迴圈和 while 迴圈檢查質數的邏輯幾乎相同。因此,質數的檢查非常容易。循環控制變數是檢查數字是否為質數的一個非常重要的因素。

以上是Java 中的素數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn