利用java判斷質數(shù)的3種方法代碼示例
更新時間:2023年07月21日 10:42:34 作者:爬樓梯的貓
這篇文章主要給大家介紹了關于利用java判斷質數(shù)的3種方法,在大于1的整數(shù)中,如果只包含1和本身這兩個約數(shù),就被稱為質數(shù)(素數(shù)),文中給出了詳細的代碼示例,需要的朋友可以參考下
方法一:質數(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ù)是否為質數(shù)
實現(xiàn)代碼
public class Test5 {
? ? public static void main(String[] args) {
? ? ? ? System.out.println(2 + "這是質數(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 + "這不是質數(shù)");
? ? ? ? ? ? ? ? ? ? flag = false;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? if (flag) {
? ? ? ? ? ? ? ? System.out.println(i + "這是質數(shù)");
? ? ? ? ? ? }
? ? ? ? }
? ? }
}實現(xiàn)結果

總結
到此這篇關于利用java判斷質數(shù)的3種方法的文章就介紹到這了,更多相關java判斷質數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java long轉String +Codeforces110A案例
這篇文章主要介紹了java long轉String +Codeforces110A案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Java實現(xiàn)獲取內(nèi)網(wǎng)的所有IP地址
這篇文章主要介紹了如何利用Java語言實現(xiàn)獲取內(nèi)網(wǎng)的所有IP地址,文中的示例代碼講解詳細,對我們學習有一定的參考價值,快跟隨小編一起學習一下吧2022-06-06

