本文目錄一覽:
java怎麼判斷素數
1、目前使用較有效的方法是試除法。用試除法判斷一個自然數a是不是素數時,用各個素數從小到大依次去除a,如果到某一個素數正好整除,這個a就可以斷定不是素數;如果不能整除,當不完全商又小於這個素數時,就不必再繼續試除,可以斷定a必然是素數。
2、素數又稱質數。一個大於1的自然數,除了1和它本身外,不能被其他自然數整除,換句話說就是該數除了1和它本身以外不再有其他的因數;否則稱為合數。
3、素數是與合數相對立的兩個概念,二者構成了數論當中最基礎的定義之一。基於質數定義的基礎之上而建立的問題有很多世界級的難題,如哥德巴赫猜想等。目前為止,人們未找到一個公式可求出所有素數,所以還沒有固定的判斷公式。
4、一般記住100以內的素數就可以了。有2、3、5、7、11、13、19、17、23、29、37、31、41、47、43、53、59、61、71、67、73、83、89、79、97,一共25個。
java里怎麼實現素數?
import java.util.Scanner;
//質數又稱素數,是指在一個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數
public class PrimeNumber {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);// 掃描器,接收控制台輸入信息
System.out.print(“請輸入一個整數:”);
try {
int num = scan.nextInt();// 取出控制台輸入的信息
if (isPrime(num)) {// 調用isPrime()方法
System.out.println(num + “是素數!”);// 若isPrime()方法返回true,輸出是素數
} else {
System.out.println(num + “不是素數!”);// 若isPrime()方法返回false,輸出不是素數
}
} catch (Exception e) {
System.out.println(“請輸入整數”);// 捕捉異常,若輸入的不是整數,輸出異常
}
}
/**
* pre
* 用於判斷一個數是否為素數,若為素數,返回true,否則返回false
* /pre
*
* @param a
* 輸入的值
* @return true、false
*/
public static boolean isPrime(int a) {
boolean flag = true;
if (a 2) {// 素數不小於2
return false;
} else {
for (int i = 2; i = Math.sqrt(a); i++) {
if (a % i == 0) {// 若能被整除,則說明不是素數,返回false
flag = false;
break;// 跳出循環
}
}
}
return flag;
}
}
Java中 什麼是素數?什麼條件?
素數是指不能被除了一和自身整除的數,所以判斷num是不是素數只有從二開始一直除到num/2,都不能整除就返回true,表示是素數,否則返回false,表示不是素數。
原創文章,作者:BIVCD,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/330281.html