완전수·친화수 판정기
자기 자신을 뺀 약수의 합으로 완전수·과잉수·부족수를 판정하고 짝이 되는 친화수를 찾습니다. 약수합을 되풀이한 수열까지 따라가 완전수가 제자리, 친화수가 2주기, 사교수가 더 긴 주기임을 눈으로 보여 줍니다.
1부터 10,000,000,000까지. 약수를 √n까지 실제로 훑으므로 상한을 두었습니다.
28은
완전수
진약수를 모두 더하면 28으로 자기 자신과 꼭 같습니다.
진약수
1 + 2 + 4 + 7 + 14 = 28
약수는 d와 n/d가 짝을 이루고 둘 중 작은 쪽은 반드시 √n 이하이므로, 1부터 5까지만 나눠 보면 약수를 모두 얻습니다. 28까지 곧이곧대로 훑는 것보다 훨씬 값쌉니다.
메르센 소수와의 대응
28 = 2^2 × (2^3 − 1) = 4 × 7
짝수 완전수는 언제나 이 꼴이고, 이때 2^p − 1이 소수여야 합니다(유클리드–오일러 정리). 여기서는 p = 3, 2^3 − 1 = 7이 메르센 소수입니다. 대응이 일대일이라 새 완전수를 찾는 일은 곧 새 메르센 소수를 찾는 일입니다.
약수합 수열
28 → 28
같은 수가 되풀이됩니다. 주기 1 — 완전수는 약수합 수열의 고정점이라 제자리에 머뭅니다.
계산 방법
- 1수를 하나 넣습니다. 1부터 100억까지 다룹니다.
- 2진약수(자기 자신을 뺀 약수)의 합과 그것이 원래 수보다 큰지 작은지를 봅니다.
- 3합이 원래 수와 같으면 완전수, 크면 과잉수, 작으면 부족수입니다.
- 4친화수 짝이 있으면 함께 나옵니다. 220을 넣어 284가 나오는지 확인해 보세요.
- 5아래 「약수합 수열」에서 이 수가 어디로 흘러가는지 따라갑니다. 완전수는 제자리에 머물고 친화수는 두 수를 오갑니다.
자주 묻는 질문
자기 자신을 뺀 약수를 모두 더하면 자기 자신이 되는 수입니다. 6의 진약수는 1, 2, 3이고 더하면 6이라 완전수입니다. 그다음은 28(1+2+4+7+14), 496, 8128이고 1만 이하에는 이 넷뿐입니다.
지금까지 52개가 알려져 있고 모두 짝수입니다. 짝수 완전수는 2^(p−1)(2^p − 1) 꼴이며 이때 2^p − 1이 소수(메르센 소수)여야 한다는 것이 유클리드–오일러 정리인데, 이 대응이 일대일이라 메르센 소수를 하나 찾을 때마다 완전수가 하나 늘어납니다. 새 완전수를 찾는 일이 곧 새 메르센 소수를 찾는 일입니다.
있는지 없는지 아직 아무도 모릅니다. 2천 년 넘게 풀리지 않은 문제이며, 만약 있다면 10^1500보다 크고 서로 다른 소인수를 101개 넘게 가져야 한다는 것까지만 밝혀져 있습니다. 이 계산기가 다루는 100억 이하에는 확실히 없습니다.
서로의 진약수 합이 되는 두 수입니다. 220의 진약수를 더하면 284가 되고, 284의 진약수를 더하면 다시 220이 되므로 (220, 284)가 가장 작은 친화수 짝입니다. 우애수라고도 부르며, 완전수는 「자기 자신과 짝이 되는 경우」인 셈이지만 관례상 친화수로 세지 않습니다.
진약수의 합이 자기 자신보다 크면 과잉수, 작으면 부족수입니다. 가장 작은 과잉수는 12(1+2+3+4+6 = 16)이고, 홀수 중에서 가장 작은 과잉수는 한참 뒤인 945입니다. 소수는 진약수가 1뿐이라 모두 부족수입니다.
있습니다. 대부분은 소수에 닿아 1을 거쳐 0으로 끝나지만 276처럼 어디로 가는지 아직 모르는 수열이 있습니다(카탈랑–딕슨 추측). 이 계산기는 24걸음까지만 따라가고 그 안에 끝나지 않으면 「모른다」로 답합니다.
√n까지만 훑기 때문입니다. 약수는 d와 n/d가 짝을 이루고 둘 중 작은 쪽은 반드시 √n 이하이므로, 1부터 √n까지만 나눠 보면 모든 약수를 얻습니다. 100억이면 10만 번이면 끝나 n까지 훑는 것보다 10만 배 빠릅니다.
전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.
알아두면 좋은 점
- 검증은 1부터 3,000까지 모든 수에 대해 √n까지만 훑어 구한 약수합이 n까지 곧이곧대로 훑어 구한 값과 일치하는지 대조해 했습니다. 완전제곱수에서 √n을 두 번 세는 실수를 잡기 위해 36·100·144를 따로 고정했습니다.
- 완전수는 6·28·496·8128·33550336·8589869056(OEIS A000396)을 정답지로 삼았고, 1만 이하에 넷뿐이라는 것도 실제로 세어 확인했습니다.
- 친화수는 (220,284) (1184,1210) (2620,2924) (5020,5564) (6232,6368) (10744,10856) (12285,14595) (17296,18416) (63020,76084)를 양쪽에서 확인했고, 2만 이하 친화수 전체 목록도 세어 대조했습니다.
- 약수합 수열은 12496이 5주기 사교수라는 것(12496 → 14288 → 15472 → 14536 → 14264)까지 고정해 두었습니다.
- 100억까지 다룹니다. √n을 훑는 계산이라 그 위로는 브라우저에서 눈에 띄게 느려집니다. 진약수 목록은 60개까지, 약수합 수열은 24걸음까지 보입니다.
- 완전수·친화수는 법이나 요율이 아니라 정의로 확정되는 값이라 해가 바뀌어도 달라지지 않습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.