도구스학업·수학

소수 계량 함수 π(x) 근사 계산기

x 이하 소수의 개수를 소수 정리의 x/ln x, 로그적분 li(x), 리만의 R(x)로 근사하고 실제로 센 값과 견줍니다. 1천만까지는 체로 직접 세어 어느 근사가 얼마나 맞는지 오차를 그대로 보여 줍니다.

10,000,000 이하면 체로 실제 개수까지 셉니다. 그 위는 근사만 냅니다.

1,000,000 이하 소수의 개수 π(x)

78,498개

체로 실제로 센 값입니다 · 이 부근 소수의 평균 간격은 약 13.8

세 근사를 견주면

근사식차이상대오차
x / ln x소수 정리72,382−6,116−7.7908%
li(x)로그적분 (주값)78,628+130+0.165%
R(x)리만78,527+29+0.0374%
실제 개수 π(x)78,498
Li(x) = li(x) − li(2)78,627
이 부근에서 아무 수나 골랐을 때 소수일 확률 1/ln x7.238%
소수 사이의 평균 간격 ln x13.816
증명된 하계 x/ln x (x ≥ 17)72,382
증명된 상계 1.25506 · x/ln x90,844
계산 근거x/ln x = 1,000,000 / 13.8155 = 72,382li(x) = li(2) + ∫₂ˣ dt/ln t = 78,628R(x) = Σ μ(n)/n · li(x^(1/n)) = 78,527상·하계는 로서–쇤펠트(1962)가 증명한 것으로, 실제 π(x)는 반드시 이 사이에 들어갑니다.

n번째 소수는 얼마쯤인가

500,000번째까지는 실제로 찾아 줍니다.

100,000번째 소수 (실제)1,299,709
n · ln n1,151,293 (−11.4192%)
n (ln n + ln ln n − 1)1,295,640 (−0.3131%)
소수 정리는 «비»가 1로 간다는 말입니다. 차이가 0으로 간다는 말이 아닙니다. 그래서 x/ln x는 비율로는 점점 맞아 가는데 개수의 차이는 오히려 계속 커집니다. x = 100만에서 6,116개, x = 1천만에서 44,158개가 모자랍니다. 상대오차가 대략 1/ln x 규모로만 줄어들어 x를 10배로 키워도 몇 %포인트밖에 나아지지 않습니다.
로그적분이 훨씬 나은 이유는 밀도가 변하기 때문입니다. x/ln x는 소수의 밀도를 맨 끝의 값 하나로 대표합니다. 앞쪽 구간은 소수가 더 촘촘하므로 그 몫이 통째로 빠지고, 그래서 늘 모자라게 나옵니다. li(x) = ∫dt/ln t는 구간 내내 변하는 밀도를 쌓으므로 그 손실이 없습니다. 가우스가 열다섯 살에 알아본 것이 이쪽입니다.
li(x)가 π(x)보다 크다는 것은 정리가 아니라 관찰입니다. 리틀우드가 1914년에 li(x) − π(x)의 부호가 무한히 자주 바뀐다는 것을 증명했습니다. 처음 뒤집히는 자리(스큐스 수)는 10의 316제곱 아래 어딘가로만 알려져 있어 사람이 세어 볼 수 있는 범위에서는 영원히 볼 수 없습니다. 「지금까지 늘 그랬으니 앞으로도 그렇다」가 왜 증명이 아닌지 보여 주는 유명한 예입니다.
n번째 소수에는 n·ln n을 쓰면 안 됩니다. π(x) ≈ x/ln x를 뒤집으면 그 식이 나오지만 늘 크게 모자랍니다. 한 단계 더 풀어 n(ln n + ln ln n − 1)을 쓰면 훨씬 낫습니다 — n = 10만에서 앞엣것은 8% 넘게 모자라고 뒤엣것은 1% 안에 듭니다.

계산 방법

  1. 1x를 넣으면 그 이하 소수의 개수를 세 가지 근사식으로 계산합니다.
  2. 2x가 1천만 이하면 체로 실제 개수까지 세어 근사식의 오차를 그대로 보여 줍니다.
  3. 3표에서 x/ln x가 늘 모자라고 li(x)가 훨씬 가깝다는 것을 확인합니다.
  4. 4아래쪽에서 n을 넣으면 n번째 소수의 근사값과, 50만 이하라면 실제 값까지 냅니다.

자주 묻는 질문

x 이하 소수의 개수 π(x)가 x/ln x에 점점 가까워진다는 정리입니다. 1896년 아다마르와 드 라 발레 푸생이 각각 증명했습니다. 다만 「가까워진다」는 것은 두 값의 비가 1로 간다는 뜻이지 차이가 0으로 간다는 뜻이 아니어서, 개수의 차이 자체는 계속 커집니다.

생각보다 많이 어긋납니다. x = 100만에서 실제 78,498개인데 72,382개로 나와 7.8% 모자랍니다. x = 10억에서도 5.1% 모자랍니다. 상대오차가 대략 1/ln x 규모로만 줄어들기 때문에 x를 10배로 키워도 오차가 몇 %포인트밖에 나아지지 않습니다.

소수의 밀도가 구간마다 다르다는 것을 반영하기 때문입니다. x/ln x는 밀도를 맨 끝의 값 하나로 대표하는데, 앞쪽 구간은 소수가 더 촘촘해서 그만큼이 통째로 빠집니다. li(x) = ∫dt/ln t는 구간 내내 변하는 밀도를 쌓으므로 그 손실이 없습니다. x = 100만에서 x/ln x는 6,116개 모자라지만 li(x)는 130개 넘칠 뿐입니다.

li(x)를 뫼비우스 함수로 다듬은 근사로 R(x) = Σ μ(n)/n · li(x^(1/n))입니다. li(x)가 소수의 거듭제곱까지 센 것에 가깝기 때문에 제곱수·세제곱수 몫을 덜어 내면 소수만 남는다는 발상입니다. x = 100만에서 오차가 29개로 li(x)의 130개보다 훨씬 작습니다.

아닙니다. 사람이 계산해 본 범위에서는 늘 크지만, 리틀우드가 1914년에 li(x) − π(x)의 부호가 무한히 자주 바뀐다는 것을 증명했습니다. 처음 뒤집히는 자리(스큐스 수)는 10의 316제곱 아래 어딘가로만 알려져 있어 실제로 볼 수는 없습니다. 「지금까지 늘 그랬으니 앞으로도 그렇다」가 왜 증명이 아닌지 보여 주는 유명한 예입니다.

π(x) ≈ x/ln x를 뒤집으면 n번째 소수 ≈ n·ln n이 나오지만 늘 크게 모자랍니다. 한 단계 더 풀어 n(ln n + ln ln n − 1)을 쓰면 훨씬 낫습니다. n = 10만에서 앞엣것은 8% 넘게 모자라고 뒤엣것은 1% 안에 듭니다.

브라우저 안에서 도는 계산기이기 때문입니다. 홀수만 담는 에라토스테네스의 체라도 1천만이면 5MB를 잡고 3천만 번쯤 훑어야 합니다. 그 위는 근사값만 냅니다. 실제로 π(x)를 큰 x에서 구하려면 메이셀–레머 같은 다른 방법이 필요하고, 이 계산기의 범위 밖입니다.

전송되지 않습니다. 체도 근사식도 모두 브라우저 안에서 계산하고 넣은 값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 실제 개수는 1천만까지만 셉니다. 그 위는 근사값만 냅니다.
  • n번째 소수의 실제 값은 50만 번째까지 찾습니다.
  • li(x)는 특이점을 주값으로 넘긴 것이며 표에 흔히 실리는 쪽입니다. Li(x) = li(x) − li(2)도 함께 냅니다.
  • li(x)가 π(x)보다 크다는 것은 조사된 범위의 관찰일 뿐 정리가 아닙니다. 부호는 무한히 자주 바뀝니다.
  • x는 10의 18제곱까지 받습니다. 그 위는 배정밀도 실수로 담기지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.