利用java判斷質(zhì)數(shù)的3種方法代碼示例
方法一:質(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 + "不是素?cái)?shù)");
break;
}
}
//將2~(n-1)之間所有整數(shù)都除一遍,以確保其中沒有可以整除的數(shù)
if (i == n){
System.out.println(n + "是素?cái)?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 + "不是素?cái)?shù)");
break;
}
}
//將2~(n/2)之間所有整數(shù)都除一遍,以確保其中沒有可以整除的數(shù)
//每一個整數(shù)都可以看做有兩個數(shù)相乘得到,且每一個整數(shù)不會超過原整數(shù)的一半,除了原整數(shù)本身
if (i > n/2){
System.out.println(n + "是素?cái)?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 + "不是素?cái)?shù)");
break;
}
}
if (i > Math.sqrt(n)){
System.out.println(n + "是素?cái)?shù)");
}
}
}附:判斷1-100所有數(shù)是否為質(zhì)數(shù)
實(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ù)");
? ? ? ? ? ? }
? ? ? ? }
? ? }
}實(shí)現(xiàn)結(jié)果

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

