소수를 구하는 알고리즘
"소수가 되는 수의 배수를 지우면 남은 건 소수가 된다"를 이용한 알고리즘
// N 이하의 소수를 구한다
boolean[] prime = new boolean[N + 1];
// 소수는 false
// 0 과 1은 소수가 아니므로 제외
prime[0] = prime[1] = true; // 소수 아님
for (int i = 2; i * i < prime.length; i++) {
if (prime[i]) continue;
for (int j = i * i; j < prime.length; j += i) {
prime[j] = true;
}
}