判斷number是否是素數(shù)有這么幾種方法:
(1)用2至number-1之間的所有數(shù)去整除number,如果有一個能被整除,說明number是非素數(shù);除非所有的數(shù)都不能被整除,才說明number是素數(shù)。? ? ? ? ? (推薦學(xué)習:java課程)
(2)用2至number/2之間的所有數(shù)去整除number,如果有一個能被整除,說明number是非素數(shù);除非所有的數(shù)都不能被整除,才說明number是素數(shù)。
(3)用2至number的平方根之間的所有數(shù)去整除number,如果有一個能被整除,說明number是非素數(shù);除非所有的數(shù)都不能被整除,才說明number是素數(shù)。
立即學(xué)習“Java免費學(xué)習筆記(深入)”;
這3種的方法的效率是逐漸提高的。下面列出了第3種方法的實現(xiàn):
import java.util.Scanner; public class Test2 { public static void main(String[] args) { int number; // 輸入的數(shù)字 Scanner input = new Scanner(System.in); System.out.println("請輸入數(shù)字"); number = input.nextInt(); // 輸入數(shù)字 if(isPrimeNumber(number)){ System.out.println(number + "是一個素數(shù)"); } else{ System.out.println(number + "是一個非素數(shù)"); } } public static boolean isPrimeNumber(int num){ if(num < 2){ System.out.println("數(shù)據(jù)錯誤"); return false; } int k = (int)Math.sqrt(num); //num的平方根 int i; for(i=2; i<=k; i++){ //依次用2..k之間的數(shù)去整除num,如果沒有一個數(shù)能被整除,說明num是素數(shù) if(num % i == 0){ break; } } if(i > k){ return true; } return false; } }
以上就是java判斷number是否是素數(shù)的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
java怎么學(xué)習?java怎么入門?java在哪學(xué)?java怎么學(xué)才快?不用擔心,這里為大家提供了java速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號