當前位置:首頁 » 編程語言 » java怎麼判斷素數

java怎麼判斷素數

發布時間: 2025-01-27 01:46:57

A. java 判斷是不是素數

判斷number是否是素數有這么幾種方法:
(1)用2至number-1之間的所有數去整除number,如果有一個能被整除,說明number是非素數;除非所有的數都不能被整除,才說明number是素數。
(2)用2至number/2之間的所有數去整除number,如果有一個能被整除,說明number是非素數;除非所有的數都不能被整除,才說明number是素數。
(3)用2至number的平方根之間的所有數去整除number,如果有一個能被整除,說明number是非素數;除非所有的數都不能被整除,才說明number是素數。

這3種的方法的效率是逐漸提高的。下面列出了第3種方法的實現:
import java.util.Scanner;

public class Test2 {

public static void main(String[] args) {
int number; // 輸入的數字

Scanner input = new Scanner(System.in);
System.out.println("請輸入數字");
number = input.nextInt(); // 輸入數字

if(isPrimeNumber(number)){
System.out.println(number + "是一個素數");
}
else{
System.out.println(number + "是一個非素數");
}
}

public static boolean isPrimeNumber(int num){
if(num < 2){
System.out.println("數據錯誤");
return false;
}

int k = (int)Math.sqrt(num); //num的平方根
int i;
for(i=2; i<=k; i++){ //依次用2..k之間的數去整除num,如果沒有一個數能被整除,說明num是素數
if(num % i == 0){
break;
}
}
if(i > k){
return true;
}
return false;
}
}

如果對你的程序進行修改,也可這樣:
public static void main(String[] args) {
int number;// 輸入的數字
int j = 2;

Scanner input = new Scanner(System.in);
System.out.println("請輸入數字");
number = input.nextInt();// 輸入數字

for(j=2;j<number;j++){

if(number%j == 0) {

System.out.println("這不素數");
break;
}
}
if(j>=number)
System.out.println("這是素數");
}

熱點內容
編譯原理沖突圖的定義 發布:2025-09-16 21:26:45 瀏覽:801
安卓手機芯哪個牌子好 發布:2025-09-16 21:26:33 瀏覽:199
centos編譯安裝git 發布:2025-09-16 21:19:55 瀏覽:967
安卓系統如何使用手機優盤 發布:2025-09-16 21:14:01 瀏覽:324
在手機上注冊公積金如何設置密碼 發布:2025-09-16 21:07:01 瀏覽:816
無控制器存儲 發布:2025-09-16 21:02:44 瀏覽:709
陰陽師ios清理緩存 發布:2025-09-16 21:02:35 瀏覽:510
人人網訪問記錄 發布:2025-09-16 20:53:46 瀏覽:381
oracle資料庫實例 發布:2025-09-16 20:23:04 瀏覽:560
java實習心得體會 發布:2025-09-16 20:06:46 瀏覽:592