Prime number
Description
Get these prime numbers in the range from 0 to N.
Code
public static List<Integer> primes(int N){
boolean[] isPrime = new boolean[N];
for(int i = 0; i < N; i += 2){
isPrime[i] = false;
}
for(int i = 1; i < N; i += 2){
isPrime[i] = true;
}
isPrime[2] = true;
for(int i = 3; i < N; i += 2){
if(isPrime[i]){
int delta = 2*i;
int cur = i + delta;
while(cur < N){
isPrime[cur] = false;
cur += delta;
}
}
}
List<Integer> ans = new ArrayList<>();
for(int i = 2; i < N; i ++){
if(isPrime[i]) {
System.out.println(i);
ans.add(i);
}
}
return ans;
}