一、单个素数的判断方法
除了1和自身,再没有能够整除它的数,则这个数为素数
boolean isPrime(int n){
for(int i=2;i<Math.sqrt(n);i++){
if(n%i==0) return false;
}
return true;
}
二、判断一个范围内的素数个数
埃氏筛选法(埃拉托斯特尼筛法)
对于筛选整数n以内的素数:先把素数2的倍数全部删除,则下一个素数为3,再把素数3的倍数全部删除,下一个素数为5,再把素数5的倍数全部删除…直到把n以内的所有素数的倍数都删除,则得到n以内的素数个数
204. Count Primes
public int countPrimes(int n) {
boolean[] primes=new boolean[n];
int count=0;
Arrays.fill(primes,true);
for(int i=2;i<primes.length;i++){
if(primes[i]==true){
count++;
for(int j=2;i*j<primes.length&&j<primes.length;j++){
primes[i*j]=false;
}
}
}
return count;
}