Java - 소수 구하기 : 에라토스테네스의 체

cad·2021년 11월 12일
0

Algorithm

목록 보기
2/33
  • 고대 그리스 수학자 에라토스테네스가 발견한 소수를 찾는 방법이다.
  1. 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. (회색)

  2. 2는 소수이므로 오른쪽에 2를 쓴다. (빨간색)

  3. 자기 자신을 제외한 2의 배수를 모두 지운다

  4. 남아있는 수 가운데 3은 소수 이므로 오른쪽에 3을 쓴다 (초록)

  5. 자신 제외 3의 배수 제거

  6. 5는 소수 이므로 오른쪽에 쓴다

  7. 5의 배수 제거

  8. 7은 소수이므로 오른쪽에 7을 쓴다.

  9. 7의 배수 제거

  10. 반복!!

  • 위 GIF 에서는 11^2 > 120 이므로 11 보다 작은 수의 배수만 지워도 충분하다.

  • 즉 2,3,5,7의 배수를 지우고 남은 수는 모두 소수이다!

[코드 구현]

출처 : 위키백과
https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4

profile
Dare mighty things!

0개의 댓글