亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
普陀区| 城口县| 汤原县| 元谋县| 阳曲县| 慈利县| 丹棱县| 海原县| 牙克石市| 达拉特旗| 峨边| 威远县| 定安县| 通化县| 米易县| 武川县| 龙州县| 巴青县| 哈密市| 尼木县| 龙泉市| 乐昌市| 肥城市| 新野县| 大方县| 广饶县| 涡阳县| 齐齐哈尔市| 玉环县| 久治县| 金沙县| 海盐县| 玉龙| 汝南县| 建湖县| 朝阳区| 黎平县| 开封市| 吉林市| 昔阳县| 四会市|