首頁  >  文章  >  Java  >  java判斷number是否是質數

java判斷number是否是質數

(*-*)浩
(*-*)浩原創
2019-11-13 11:12:382422瀏覽

java判斷number是否是質數

判斷number是否是質數有這麼多種方法:

(1)用2至number-1之間的所有數字去整除number,如果有一個能被整除,表示number是非素數;除非所有的數都不能被整除,才說明number是質數。           (建議學習:java課程

(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;
    }
}

以上是java判斷number是否是質數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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