서로 다른 두 자연수 a,b에서 a의 진약수를 모두 더하면 b가 되고 b의 진약수를 모두 더하면 a가 될 때 두 수를 친화수 또는 우애수라고 합니다. 가장 작은 쌍은 220과 284입니다. 220의 진약수 합은 284이고 284의 진약수 합은 220입니다. 약수합 함수 σ(n)를 사용하면 긴 약수 목록을 소인수분해만으로 계산할 수 있습니다.
진약수합 함수로 쓰는 정의
σ(n)은 n 자신을 포함한 모든 양의 약수의 합입니다. 진약수합은 s(n)=σ(n)-n입니다. 서로 다른 a,b가 s(a)=b, s(b)=a를 만족하면 친화수 쌍입니다. 두 식을 합치면 σ(a)=σ(b)=a+b입니다.
s(220)=284, s(284)=220 ⇔ σ(220)=σ(284)=504
220의 진약수를 직접 더하기
220의 진약수는 1,2,4,5,10,11,20,22,44,55,110입니다. 모두 더하면 284입니다. 자기 자신 220까지 포함하면 σ(220)=504입니다.
1+2+4+5+10+11+20+22+44+55+110=284
284의 진약수를 직접 더하기
284=4×71이고 71은 소수입니다. 진약수는 1,2,4,71,142이며 합은 220입니다. 284까지 포함한 약수합은 504입니다.
1+2+4+71+142=220
소인수분해로 빠르게 계산
서로소인 m,n에 대해 σ(mn)=σ(m)σ(n)입니다. 소수 p의 거듭제곱에서는 σ(p^k)=1+p+⋯+p^k=(p^{k+1}-1)/(p-1)입니다. 220=2²×5×11이므로 σ(220)=(1+2+4)(1+5)(1+11)=7×6×12=504입니다.
284=2²×71이므로 σ(284)=(1+2+4)(1+71)=7×72=504입니다. 두 수 모두 약수합이 504=220+284이므로 자신의 몫을 빼면 서로 상대방이 남습니다.
| 수 | 소인수분해 | σ(n) | s(n)=σ(n)-n |
|---|---|---|---|
| 220 | 2²×5×11 | 7×6×12=504 | 284 |
| 284 | 2²×71 | 7×72=504 | 220 |
완전수와 친화수의 관계
완전수 n은 s(n)=n이므로 약수합 반복에서 자기 자신으로 돌아오는 고정점입니다. 친화수 a,b는 s(a)=b, s(b)=a인 길이 2의 순환입니다. 6과 28은 완전수이고 220·284는 친화수 쌍입니다. 과잉수와 부족수라는 분류도 s(n)과 n의 대소를 비교해 정합니다.
220은 s(220)=284>220이므로 과잉수이고, 284는 s(284)=220<284이므로 부족수입니다. 친화수 쌍의 두 수가 모두 과잉수이거나 모두 부족수일 필요는 없습니다. 두 수가 서로의 진약수합이라는 순환 조건이 정의의 전부이며, 각 수를 자기 진약수합과 비교하는 분류는 별개의 정보입니다.
약수합 반복과 사회적 수
n에서 s(n)으로 계속 이동하는 수열을 부분합 약수 수열(aliquot sequence)이라고 합니다. 길이 1의 순환은 완전수, 길이 2는 친화수, 더 긴 순환은 사회적 수(sociable numbers)라고 합니다. 어떤 수열은 1에 도달하거나 소수에서 다음 값 1로 가고, 어떤 수열은 매우 크게 증가합니다. 모든 시작값의 거동이 완전히 분류된 것은 아닙니다.
친화수 쌍을 찾는 방법
범위 안의 각 n에 대해 소인수분해로 s(n)을 구하고 m=s(n)이 n과 다를 때 s(m)=n인지 확인할 수 있습니다. 같은 쌍을 두 번 세지 않으려면 n<m 조건을 둡니다. 단순히 모든 약수를 시험하면 큰 범위에서 느리므로 소수 체를 응용해 여러 수의 진약수 합을 한꺼번에 누적하기도 합니다.
n≤N 범위의 배열을 0으로 두고 각 d에 대해 2d,3d,…에 d를 더하면 모든 수의 진약수합을 구할 수 있습니다. 조화급수 때문에 총 덧셈 횟수는 대략 N log N 규모입니다. 이 방법은 소인수분해를 개별 수행하지 않고 작은 범위를 전수조사할 때 유용합니다.
두 번째 친화수 쌍 1184와 1210
220과 284 다음으로 작은 친화수 쌍은 1184와 1210입니다. 1184=2^5×37이므로 σ(1184)=(1+2+4+8+16+32)(1+37)=63×38=2394입니다. 따라서 s(1184)=2394−1184=1210입니다.
1210=2×5×11²이고 세 소인수 거듭제곱은 서로소입니다. 곱셈성을 적용하면 σ(1210)=(1+2)(1+5)(1+11+121)=3×6×133=2394입니다. 그러므로 s(1210)=2394−1210=1184입니다. 두 수의 σ값이 공통합 1184+1210=2394와 같다는 점이 220·284 계산과 정확히 같은 구조입니다.
| 친화수 쌍 | 공통 약수합 | 검산 |
|---|---|---|
| 220, 284 | 504 | 504−220=284, 504−284=220 |
| 1184, 1210 | 2394 | 2394−1184=1210, 2394−1210=1184 |
σ 함수가 곱셈적인 이유
서로소인 m과 n의 양의 약수는 m의 약수 d₁과 n의 약수 d₂를 하나씩 골라 곱한 d₁d₂로 유일하게 표현됩니다. 따라서 모든 약수를 더하면 Σd₁d₂=(Σd₁)(Σd₂)가 되어 σ(mn)=σ(m)σ(n)이 됩니다. 서로소 조건이 없으면 같은 소인수가 양쪽에서 겹쳐 이 일대일 대응이 깨집니다. 예를 들어 σ(4)σ(2)=7×3=21이지만 σ(8)=15이므로 아무 두 수에나 곱셈 공식을 쓰면 안 됩니다.
소인수분해 n=p₁^a₁···p_r^a_r에서는 서로 다른 소수의 거듭제곱들이 서로소이므로 σ(n)=∏(1+p_i+···+p_i^a_i)입니다. 각 괄호는 유한 등비급수입니다. 이 공식 덕분에 약수를 모두 나열하지 않고도 σ와 s를 정확히 구할 수 있으며, 친화수 후보를 검사할 때 가장 기본적인 계산 도구가 됩니다.
친화수 판정 절차
- 첫 수 a를 소인수분해해 σ(a)를 계산합니다.
- b=σ(a)−a를 구하고 b가 a와 다른 양의 정수인지 확인합니다.
- b를 소인수분해해 σ(b)−b를 계산합니다.
- 결과가 a이면 (a,b)는 친화수 쌍입니다. 중복 기록을 피하려면 a<b일 때만 저장합니다.
한쪽 식만 확인해서는 부족합니다. s(a)=b라고 해도 s(b)가 a로 돌아오지 않을 수 있습니다. 또한 계산기나 프로그램에서 큰 정수를 다룰 때 소인수분해가 틀리면 약수합도 모두 어긋납니다. 작은 수에서는 약수 목록을 직접 더한 값과 소인수분해 공식을 함께 사용하면 좋은 교차 검산이 됩니다.
타비트 이븐 쿠라의 생성 공식
9세기 수학자 타비트 이븐 쿠라는 특정 소수 조건이 성립할 때 친화수 쌍을 만드는 공식을 제시했습니다. n>1에서 p=3×2^{n-1}-1, q=3×2^n-1, r=9×2^{2n-1}-1이 모두 소수이면 2^n pq와 2^n r이 친화수입니다. n=2이면 p=5,q=11,r=71로 220과 284를 얻습니다.
이 공식은 모든 친화수 쌍을 생성하지 않으며 소수 조건이 자주 실패합니다. 이후 오일러를 비롯한 수학자들이 다른 공식과 많은 쌍을 발견했습니다. 친화수 쌍이 무한히 많은지는 아직 증명되지 않았습니다.
짝홀 구조
220과 284는 둘 다 짝수이고, 알려진 친화수 쌍의 대부분도 두 수가 모두 짝수입니다. 그러나 두 수가 모두 홀수인 친화수 쌍도 알려져 있으므로 ‘친화수는 반드시 둘 다 짝수’라는 명제는 거짓입니다. 개별 예에서 보이는 패턴을 정의의 필수조건으로 일반화하지 않아야 합니다.
두 수가 모두 홀수인 친화수 쌍도 알려져 있습니다. 반면 하나는 짝수이고 하나는 홀수인 친화수 쌍이 존재하는지는 알려진 사실로 단정할 수 없는 미해결 문제로 다뤄집니다. 따라서 혼합 짝홀 쌍이 존재한다고 쓰는 것은 정확하지 않습니다. 계산으로 많은 사례를 찾았다는 사실과 가능한 모든 짝홀 유형이 증명됐다는 사실은 구분해야 합니다.
검산할 때 흔한 실수
- σ(n)은 자기 자신을 포함하지만 s(n)은 제외합니다.
- 친화수는 서로 다른 두 수를 요구합니다. s(n)=n은 완전수입니다.
- 약수를 나열할 때 제곱근 짝을 중복하거나 빠뜨리지 않습니다.
- σ가 곱셈적인 것은 서로소 인수에 대해서이며 σ(a+b) 같은 덧셈 성질은 없습니다.
- 220과 284가 가장 작은 쌍이라는 사실과 친화수 쌍 전체가 알려졌다는 말은 다릅니다.
친화수 핵심 정리
친화수 a,b는 서로의 진약수합이 되는 서로 다른 자연수입니다. 220=2²×5×11과 284=2²×71에 약수합 공식을 적용하면 σ(220)=σ(284)=504=220+284입니다. 따라서 s(220)=284, s(284)=220입니다.
약수합 함수 반복에서 완전수는 길이 1, 친화수는 길이 2의 순환을 이룹니다. 공식으로 일부 쌍을 만들고 계산으로 많은 쌍을 찾았지만 친화수 쌍이 무한히 존재하는지는 미해결입니다.