判斷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中文網其他相關文章!