별과 정리
별과 정리 · 제24장 · 1부 · 누구나 손댈 수 있는 것

에라토스테네스의 체

The Sieve of Eratosthenes
배수를 지워 나가면 소수만 남는다

체로 거르듯 합성수를 지워 보세요

1부터 100까지 숫자가 적힌 표를 펼칩니다. 1을 지우고, 2를 남기고 2의 배수를 지우고, 3을 남기고 3의 배수를 지워 나갑니다.

7의 배수까지만 지우면 남은 모든 수가 소수가 됩니다. 왜 100까지의 수를 거르는 데 7까지만 확인하면 충분할까요?

이야기

에라토스테네스 초상
에라토스테네스
?
Public domain · 위키미디어 공용

제11장에서 막대 하나로 지구를 잰 그 사람, 에라토스테네스가 이것도 만들었습니다. 알렉산드리아 도서관에는 파피루스가 산더미였고, 그는 목록 만드는 일에 익숙했습니다. 소수 찾기도 그에게는 목록 정리였습니다.

그런데 이천삼백 년 동안 이것보다 나은 방법이 나오지 않았습니다. 오늘도 컴퓨터가 「어떤 범위 안의 소수를 다 찾아라」를 할 때 쓰는 것은 여전히 이 체입니다. 다듬어지기는 했어도 뼈대는 그대로입니다.

다만 이 체가 못 하는 일이 하나 있습니다. 큰 수 하나가 소수인지만 알고 싶을 때입니다. 그때는 그 수까지 오는 모든 수를 걸러야 하니 쓸 수가 없고, 전혀 다른 방법이 필요합니다.

100까지 걸를 때 10에서 멈춰도 되는 까닭은 이렇습니다. 100 이하의 합성수는 반드시 두 수의 곱인데, 둘 다 10보다 크면 곱이 100을 넘기 때문입니다.

그러니 적어도 하나는 10 이하입니다. 10까지의 소수 2, 3, 5, 7로 걸러 내면 합성수는 남김없이 걸립니다.

오늘 이것이 하는 일

암호에 쓸 큰 소수를 찾는 첫 단계입니다. 이천이백 년 전 방법인데 지금도 쓰입니다.

컴퓨터로 백만까지의 소수를 뽑을 때 이보다 간단하고 빠른 방법을 아직 못 찾았습니다.

계단 넷 — 같은 사실을 네 깊이로

초4 · 초5 — 손으로 해 본다

100까지 표에서 배수를 지운다

모래를 체에 쳐서 굵은 돌을 걸러내듯 수를 거릅니다. 2의 배수(짝수), 3의 배수, 5의 배수, 7의 배수를 차례대로 색칠해 지웁니다.

구멍 난 체 사이로 빠져나가지 않고 끝까지 살아남은 숫자들인 2, 3, 5, 7, 11, 13, 17, 19, 23... 이 바로 더 이상 쪼개지지 않는 자연수의 씨앗, 소수입니다.

배수를 지워 보세요

1부터 100까지 100개의 점 불빛에서 2의 배수, 3의 배수, 5의 배수, 7의 배수 스위치를 차례로 끈다
k 의 배수 남는 수 100 까지 소수
견줄 자리에서는 몇 배
7의 배수까지만 껐는데, 그런데 100까지의 모든 합성수 불이 꺼지고 25개의 소수만 영롱하게 남는다 — 11의 배수는 손도 안 댔는데
앞쪽에서 4번만 체를 쳤는데 100까지 불필요한 돌멩이가 싹 다 걸러진다
중1 · 중2 — 까닭을 찾는다

√n 까지만 지우면 되는 까닭

합성수 은 두 수의 곱 로 나타납니다. 만약 둘 다 보다 크다면 곱은 을 넘어버립니다.

따라서 합성수는 반드시 이하인 소인수를 적어도 하나 가져야 합니다. 100까지의 수는 이하의 소수인 2, 3, 5, 7의 배수만 지우면 검사가 끝납니다.

어디까지 지우면 될까요

검사하는 수 N을 100, 1000, 10000으로 올리며 확인해야 하는 최대 소수 √N의 위치 막대를 본다
√N 지울 소수 개수 소수 어림 N/lnN
견줄 자리에서는 몇 배
10,000까지의 거대한 숫자 1만 개를 검사하는데, 그런데 고작 97(√10000=100 이하의 소수 25개)까지만 체를 치면 1만 개 전체의 판정이 끝난다
만 개나 되는 숫자를 검사할 때 백까지만 체질을 하면 만 개 전체가 한 방에 정리된다
고1 · 고2 — 넓혀 본다

소수의 개수 어림

에라토스테네스의 체는 이하의 모든 소수를 시간 복잡도 만에 찾아내는 효율적인 알고리즘입니다.

가우스와 르장드르는 이하의 소수 개수 가 대략 에 점근한다는 소수 정리(Prime Number Theorem)를 제시하였으며, 이는 체의 제거 비율 분석에서 출발했습니다.

소수는 얼마나 드문가

체를 치고 남은 소수 계량 함수 π(x) 계단 곡선과 x/ln(x), Li(x) 곡선을 겹친다
π(N) 어림 N 100 개 중
견줄 자리에서는 몇 배
소수는 불규칙하게 띄엄띄엄 나타나는 불청객 같은데, 그런데 숫자가 커질수록 x/ln(x) 곡선과 오차가 줄어들며 완벽히 포개진다
제멋대로 흩어진 소수 개수를 세어보면 부드러운 미끄럼틀 곡선과 소름 돋게 일치한다
대학 — 어디까지 가나

체 이론

현대 정수론에서 체 방법론은 브룬의 체(Brun's sieve), 셀베르그의 체(Selberg's sieve)를 거쳐 현대 체 이론(Sieve Theory)으로 발전했습니다.

천징룬의 정리(충분히 큰 짝수는 소수와 두 소수의 곱의 합)와 장이탕 및 제임스 메이나드의 쌍둥이 소수 간격 유한성 증명은 모두 이 체 이론의 정교한 변형을 통해 달성되었습니다.

체가 얼마나 걸러 내나

s=2일 때 제타함수 값 π²/6 = 1.64493에 소수 체 항 (1 - 1/p²)을 하나씩 곱해 나간다
남는 비율 걸러진 비율 견줄 자리에서는
몇 배
모든 자연수의 제곱의 역수를 더한 값인데, 그런데 소수 p=2, 3, 5, 7... 만으로 만든 체 곱을 취하는 순간 정확히 1로 수렴해 떨어진다
모든 숫자의 덧셈 탑에 소수 필터를 하나씩 걸러 곱해주면 마지막에 정확히 1이 남는다

풀어 보기

중학교 · 고등학교 수준  ·  답은 검산을 마쳤습니다

소수 판별과 에라토스테네스의 체. 1부터 50까지의 자연수 중에서 소수를 찾으려고 한다.

(1) 1부터 50까지의 합성수를 모두 지우기 위해 배수를 확인해야 하는 소수를 모두 쓰시오.
(2) 1부터 50까지의 자연수 중 소수의 개수 을 구하시오.
(3) 어떤 세 자리 수 143 이 소수인지 판별하려 할 때, 나누어 떨어지는지 검사해야 하는 소수들을 모두 쓰고 소수인지 합성수인지 판정하시오.

(1) 이므로 2, 3, 5, 7 입니다. (2) 개수는 15개, (3) 합성수입니다.

답과 풀이 보기

(1) 이므로 2, 3, 5, 7 의 배수만 지우면 됩니다.
합성수 에서 두 인수가 모두 보다 클 수는 없기 때문입니다.

(2) 남는 소수는
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47 —

(3) 이므로 2, 3, 5, 7, 11 만 검사하면 됩니다.
으로 나누어떨어지므로 합성수입니다.

여기 「풀어 보기」는 기본 한 벌입니다. 더 풀어 보고 싶으면 행복수학의 그 단원으로 건너가세요.

만지는 수학으로 손에 쥐어 보기

이 장과 이어지는 「만지는 수학」 칼럼입니다. 손끝으로 직접 끌고 눌러 보며 같은 생각을 몸으로 겪을 수 있습니다.

더 멀리

「걸러 내기」는 계산의 기본 수법입니다.

이어지는 장

배수들을 모두 지워 버려도 체 위에 무한히 걸러져 남는 소수의 신비는, 아무리 큰 소수를 가져와도 그보다 더 큰 소수가 반드시 존재한다는 유클리드의 귀류법 증명으로 뻗어 나갑니다 — 제113장에서 무한한 소수의 바다를 만나보세요.

영감을 받은 곳

기원전 3세기 알렉산드리아의 학자 에라토스테네스가 고안한 소수 탐색법으로, 1세기 니코마코스의 『산술 입문』에 기록되어 전해집니다.

올린 그림 — 크게 보고 고치기

✏️ 손으로 풀어보세요
문제 크기 105%
▼ 문제가 더 있습니다
6