그리스 수학자인 에라토스테네스가 고안한 소수를 찾는 방법.

그림의 경우, 112>120 이므로 11보다 작은 수의 배수들만 지워도 충분하다. 즉, 120보다 작거나 같은 수 가운데 2, 3, 5, 7의 배수를 지우고 남는 수는 모두 소수이다.
List<Boolean> primeList = new ArrayList<>;
Boolean값을 가지는 primeList 생성
소수면 true, 아니면 false 값을 가지도록 할 것임.
primeList.add(false);
primeList.add(false);
0과 1은 소수가 아니기에 먼저 false값 넣어줌.
for (int i = 2; i <= n; i++) {
primeList.add(i, true);
}
2부터 n까지는 true로 초기화 해줌.
for (int i = 2; i <= Math.sqrt(n); i++) {
if(primeList.get(i)) {
for (int j = i * i; j <= n ; j += i) {
primeList.set(j, false);
}
}
}
i가 2부터 시작해 n의 제곱근까지만 반복
만약 i 인덱스의 값이 true라면 i를 제외한 i의 배수 인덱스 값을 false로 설정.