List<Integer> primes = new ArrayList<>();
boolean[] primeCheck = new boolean[N+1];
for (int i = 2; i <= N; i++) {
if (!primeCheck[i]) {
primes.add(i);
for (int j = 2; i*j <= N; j++) {
primeCheck[i*j] = true;
}
}
}์ด์ ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋จ์ํ๊ฒ ์ด์คํฌ๋ฌธ์ ๋๋ ค ์์๋ฅผ ๊ตฌํ๋ค.
for (int i = 2; i <= N; i++) {
for (int j = 2; i*j <= N; j++) {
primeCheck[i*j] = true;
}
}ํ์ง๋ง ์ด๋ ๊ฒ ํ์ง ์๊ณ ์์ ์ฝ๋์ ๊ฐ์ด if (!primeCheck[i]) ์กฐ๊ฑด์ ๋ฃ์ด์ฃผ๋ฉด ํจ์ฌ ๋ ์๊ฐ๋ณต์ก๋๋ฅผ ์ค์ผ ์ ์๋ค.

