java怎么判斷100內的質數(shù)
質數(shù)是指只能被1和自身整除的正整數(shù)。在解決實際問題時,經(jīng)常需要判斷一個數(shù)是否是質數(shù)。本文將介紹兩種常見的方法來判斷100以內的質數(shù)。 方法一:窮舉法 窮舉法是最直觀簡單的方法,即遍歷2到該數(shù)的平方
質數(shù)是指只能被1和自身整除的正整數(shù)。在解決實際問題時,經(jīng)常需要判斷一個數(shù)是否是質數(shù)。本文將介紹兩種常見的方法來判斷100以內的質數(shù)。
方法一:窮舉法
窮舉法是最直觀簡單的方法,即遍歷2到該數(shù)的平方根范圍內的所有數(shù),判斷是否能被整除。代碼如下:
public class PrimeNumber {
public static boolean isPrime(int num) {
if (num lt; 2) {
return false;
}
for (int i 2; i lt; Math.sqrt(num); i ) {
if (num % i 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
for (int i 1; i lt; 100; i ) {
if (isPrime(i)) {
(i "是質數(shù)");
}
}
}
}
方法二:埃拉托斯特尼篩選法
埃拉托斯特尼篩選法是一種更高效的質數(shù)判斷方法。該方法通過不斷篩選出質數(shù)的倍數(shù)來找到所有的質數(shù)。代碼如下:
public class PrimeNumber {
public static Listlt;Integergt; getPrimeNumbers(int n) {
boolean[] isPrime new boolean[n 1];
(isPrime, true);
Listlt;Integergt; primes new ArrayListlt;gt;();
for (int i 2; i lt; n; i ) {
if (isPrime[i]) {
(i);
// 篩選出質數(shù)的倍數(shù)
for (int j i * i; j lt; n; j i) {
isPrime[j] false;
}
}
}
return primes;
}
public static void main(String[] args) {
Listlt;Integergt; primes getPrimeNumbers(100);
for (int prime : primes) {
(prime "是質數(shù)");
}
}
}
通過以上兩種方法,我們可以簡單、高效且可靠地判斷100以內的質數(shù)。讀者可以根據(jù)實際需求選擇最適合自己的方法。
這樣的文章格式演示例子已經(jīng)清楚了嗎?