에라토스테네스의 채
- 채로 치듯이 수를 걸러내서 소수를 찾는 방법
- n이하의 소수를 모두 찾고 싶다면 1부터 n까지 쭉 나열한 다음에 2의 배수, 3의 배수, 5의 배수...로 계속해서 나누는 것
- 일종의 노가다 방식이긴 하지만, 소수를 생성하는 공식이 나오지 않았으므로 가장 빠른 방법
- 제곱근까지만 나눠주면 된다 (밑에 코드 참고)
소수 판별 코드
public static boolean isPrime(int n) {
if (n < 2) {
return false;
}
// 에라토스테네스 체
for (int i = 2; i <= (int) Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
참고
에라토스테네스의 체
Sieve of Eratosthenes 고대 그리스의 수학자 에라토스테네스 가 만들어 낸 소수 를 찾는 방법.
namu.wiki
'‡ CODING TEST STUDY ‡' 카테고리의 다른 글
(미완) 삼성 코테 기출 (마법의 숲 탐색, 루돌프의 반란, 미로) (0) | 2024.11.17 |
---|---|
[JAVA] SWEA | 2382. [모의 SW 역량테스트] 미생물 격리 (0) | 2024.11.17 |
[JAVA] SWEA | 1213. [S/W 문제해결 기본] 3일차 - String (0) | 2024.11.16 |
[JAVA] SWEA | 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 (0) | 2024.11.16 |