3 - 에라토스테네스의 체 (소수를 찾는 방법)
에라토스테네스의 체
- 범위에서 합성수를 지우는 방식으로 소수를 찾는 방법.
1을 제외한, 2부터 지워지지 않은 수 중 가장 작은 수를 소수로 지정하고 배수를 지우는 과정을 반복한다.
1. 2를 소수로 채택하고, 자신을 제외한 2의 배수를 모두 지운다.
2. 다음 지워지지 않은 수 3을 소수로 채택하고, 3의 배수를 모두 지운다.
3. 다음 지워지지 않은 수 5를 소수로 채택하고, 5의 배수를 모두 지운다.
4. 이후 7, 11, 13 ..... 등 위의 과정을 반복하며 소수를 체크한다.
에라토스테네스의 체를 파이썬으로 구현해 보자.
def prime(n):
primes = []
a = [True] * (n - 1)
for i in range(2, n + 1):
if a[i - 2] == True:
primes.append(i)
for j in range(i * 2, n + 1, i):
a[j - 2] = False
return primes
출처
코딩으로 수학하기, https://wikidocs.net/21638
위키, https://ko.wikipedia.org/에라토스테네스의_체
https://velog.io/@htchoi1006
Author And Source
이 문제에 관하여(3 - 에라토스테네스의 체 (소수를 찾는 방법)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chjy0202/TIL-3-에라토스테네스의-체-소수를-찾는-방법저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)