java 素数相关

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 素数相关相关的知识,希望对你有一定的参考价值。

boolean isPrime(int n) {
  if (n <= 1 || n % 2 == 0) {
    return false;
  }
  
  for (int i = 3; i * i <= n; i += 2) {
    if (n % i == 0) {
      return false;
    }
  }
  
  return true;
}
// Sieve of Eratosthenes - https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
// Time Complexity: O(N log (log N))

public int countPrimes(int n) {
  boolean[] notPrimes = new boolean[n];
  
  for (int i = 2; i * i < n; ++i) {
    if (!notPrimes[i]) {
      for (int j = 2; j * i < n; ++j) {
        notPrimes[j * i] = true;
      }
    }
  }
  
  int cnt = 0;
  for (int i = 2; i < n; ++i) {
      cnt += notPrimes[i] ? 0 : 1;
  }
  return cnt;
}

以上是关于java 素数相关的主要内容,如果未能解决你的问题,请参考以下文章

素数相关

素数相关?(有关素数的题持续更新中)x

素数判定相关资料

素数相关知识

java判断素数程序排错

Java 构造素数表