91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
长汀县| 阜新市| 平远县| 吴堡县| 水城县| 嘉荫县| 阿拉善右旗| 平阳县| 石渠县| 冀州市| 长兴县| 株洲市| 麻江县| 布尔津县| 永嘉县| 大足县| 临洮县| 根河市| 宜兴市| 松滋市| 闽清县| 威海市| 湘潭县| 涟水县| 汾阳市| 江华| 安图县| 台东市| 中山市| 汤原县| 金沙县| 新沂市| 仲巴县| 敖汉旗| 高密市| 霍林郭勒市| 陇南市| 朝阳市| 周口市| 洱源县| 都兰县|