中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java判斷素數的方法有哪些

小億
108
2023-08-23 21:29:13
欄目: 編程語言

判斷一個數是否為素數的常用方法有以下幾種:

  1. 暴力法:從2開始逐個判斷該數能否被整除,如果能被除以2至該數之前的任意數整除,則該數不是素數,否則是素數。
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
  1. 優化暴力法:在暴力法的基礎上,可以只判斷到該數的平方根,因為如果一個數可以被大于其平方根的數整除,那么一定也可以被小于其平方根的數整除。
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
  1. Sieve of Eratosthenes(埃拉托斯特尼篩法):首先創建一個長度為n+1的布爾數組,初始值都為true。然后從2開始,將其所有的倍數標記為false,直到n為止。最后,布爾數組中仍然為true的索引對應的數即為素數。
public static boolean[] sieveOfEratosthenes(int n) {
boolean[] isPrime = new boolean[n + 1];
Arrays.fill(isPrime, true);
isPrime[0] = false;
isPrime[1] = false;
for (int i = 2; i * i <= n; i++) {
if (isPrime[i]) {
for (int j = i * i; j <= n; j += i) {
isPrime[j] = false;
}
}
}
return isPrime;
}

以上是常用的判斷素數的幾種方法,可以根據具體的需求選擇合適的方法。

0
宣化县| 中牟县| 鲁甸县| 佛山市| 宜丰县| 城固县| 福鼎市| 承德县| 永安市| 江陵县| 巴南区| 琼海市| 汉中市| 云林县| 碌曲县| 五寨县| 怀安县| 峨眉山市| 化州市| 汨罗市| 华安县| 南康市| 吉安县| 京山县| 安平县| 扶沟县| 壶关县| 东阿县| 玉溪市| 泽库县| 保定市| 北碚区| 北票市| 南投市| 共和县| 博客| 洞头县| 韶山市| 东乡族自治县| 淅川县| 安义县|