埃氏筛算法: 用于在一定范围内找出所有素数的算法,基本思想为从小到大遍历,将素数的所有位数都标记为合数,剩余的数都是素数。
实现代码:
public void getPrime(int n){
boolean[] primes = new boolean[n + 1]; // primes[i] 表示 i 是否为素数
Arrays.fill(primes, true); // 初始为所有的数为素数
primes[0] = false;
primes[1] = false;
for(var i = 2; i * i <= n; i++){
if(primes[i]){ // i为素数
for(var j = i * i; j <= n; j += i){
primes[j] = false;
}
}
}
}