利用java判斷質(zhì)數(shù)的3種方法代碼示例
更新時間:2023年07月21日 10:42:34 作者:爬樓梯的貓
這篇文章主要給大家介紹了關(guān)于利用java判斷質(zhì)數(shù)的3種方法,在大于1的整數(shù)中,如果只包含1和本身這兩個約數(shù),就被稱為質(zhì)數(shù)(素數(shù)),文中給出了詳細的代碼示例,需要的朋友可以參考下
方法一:質(zhì)數(shù)只能被1和它本身整除
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int n = new Scanner(System.in).nextInt();
int i = 2;
for (;i < n;i++){
if (n % i == 0){
System.out.println(n + "不是素數(shù)");
break;
}
}
//將2~(n-1)之間所有整數(shù)都除一遍,以確保其中沒有可以整除的數(shù)
if (i == n){
System.out.println(n + "是素數(shù)");
}
}
}方法二:一個數(shù)總能寫成“n = a * b”的形式,a和b之間一定有一個數(shù)不大于n/2
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int n = new Scanner(System.in).nextInt();
int i = 2;
for (;i < n/2;i++){
if (n % i == 0){
System.out.println(n + "不是素數(shù)");
break;
}
}
//將2~(n/2)之間所有整數(shù)都除一遍,以確保其中沒有可以整除的數(shù)
//每一個整數(shù)都可以看做有兩個數(shù)相乘得到,且每一個整數(shù)不會超過原整數(shù)的一半,除了原整數(shù)本身
if (i > n/2){
System.out.println(n + "是素數(shù)");
}
}
}方法三:每一個整數(shù)都可以看做由兩個數(shù)相乘得到,且每個乘數(shù)不大于原整數(shù)的平方根
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int n = new Scanner(System.in).nextInt();
int i = 2;
for (;i <= Math.sqrt(n);i++){
if (n % i == 0){
System.out.println(n + "不是素數(shù)");
break;
}
}
if (i > Math.sqrt(n)){
System.out.println(n + "是素數(shù)");
}
}
}附:判斷1-100所有數(shù)是否為質(zhì)數(shù)
實現(xiàn)代碼
public class Test5 {
? ? public static void main(String[] args) {
? ? ? ? System.out.println(2 + "這是質(zhì)數(shù)");
? ? ? ? for (int i = 3; i <= 10; i++) {
? ? ? ? ? ? boolean flag = true;
? ? ? ? ? ? for (int j = 2; j < i; j++) {
? ? ? ? ? ? ? ? if (i % j == 0) {
? ? ? ? ? ? ? ? ? ? System.out.println(i + "這不是質(zhì)數(shù)");
? ? ? ? ? ? ? ? ? ? flag = false;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? if (flag) {
? ? ? ? ? ? ? ? System.out.println(i + "這是質(zhì)數(shù)");
? ? ? ? ? ? }
? ? ? ? }
? ? }
}實現(xiàn)結(jié)果

總結(jié)
到此這篇關(guān)于利用java判斷質(zhì)數(shù)的3種方法的文章就介紹到這了,更多相關(guān)java判斷質(zhì)數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Java序列化和反序列化為何要實現(xiàn)Serializable接口
這篇文章主要介紹了淺談Java序列化和反序列化為何要實現(xiàn)Serializable接口,序列化最重要的作用是在傳遞和保存對象時.保證對象的完整性和可傳遞性,對象轉(zhuǎn)換為有序字節(jié)流,以便在網(wǎng)絡(luò)上傳輸或者保存在本地文件中,需要的朋友可以參考下2023-12-12
idea hibernate jpa 生成實體類的實現(xiàn)
這篇文章主要介紹了idea hibernate jpa 生成實體類的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
springboot調(diào)用python腳本的實現(xiàn)示例
本文介紹了在SpringBoot應(yīng)用中調(diào)用Python腳本,包括ProcessBuilder類和ApacheCommonsExec庫兩種方法,具有一定的參考價值,感興趣的可以了解一下2024-12-12
如何自定義一個SpringBoot?Starter(步驟和代碼示例)
創(chuàng)建自定義Spring?Boot?Starter涉及封裝特定功能供其他項目復(fù)用,下面給大家詳細介紹如何自定義一個SpringBoot Starter,感興趣的朋友跟隨小編一起看看吧2025-08-08

