이 글에서는 대중수학 혹은 레크리에이션 수학 영역에서 알려진 미스테리 숫자 카프리카 상수에 대해 소개합니다.
인도에는 수에 관해 초인적인 능력을 가진 사람이 많은 것 같습니다. 라마누잔은 그 정점을 찍은 사람인 것 같습니다. 전문 수학자가 아닌 인도인 중에 카프리카(Dattathreya Ramchandra Kaprekar, 1905–1986)라는 아마추어 수학자는 숫자들에서 얻을 수 있는 여러 패턴을 발견한 사람입니다. 그가 알아낸 패턴은 일반인들도 이해할 수 있는 내용이어서 흥미를 느끼기에 좋습니다. 그래서였는지, 카프리카는 수학자 전기 사이트인 Mactutor에서 2018년 가장 많이 검색된 수학자 67위에 랭크되기도 했습니다. 이 순위는 맥스웰(68), 아벨(72), 테일러(100), 클라인(101), 다빈치(121) 등 유명한 수학자들보다도 높은 순위입니다. 자세한 내용은 다음 링크를 참조하세요.
Most Popular Biographies
1949년, 카프리카는 6174라는 네 자리 정수의 특이한 성질을 발견했습니다.
6174라는 숫자를 설명하기 전에 카프리카 연산을 정의하겠습니다. 네 자리 수 $\mathrm{abcd}$(자릿수에 0도 허용)에 대해 카프리카 연산은 다음과 같은 순서로 이루어지는 계산을 말합니다.
- 자릿수를 나타내는 네 수 $\mathrm a$, $\mathrm b$, $\mathrm c$, $\mathrm d$를 점점 작거나 같아지는 순서로 재배열합니다. 예를 들어, 1131은 3111, 1234는 4321, 213은 3210으로 바꿉니다. 이 수를 $\mathrm{a'b'c'd'}$이라 합시다.
- 위에서 만들어진 수를 가지고 $\mathrm{d'c'b'a'} - \mathrm{a'b'c'd'}$을 계산합니다.
- 새로운 수에서 더 이상 새로운 숫자가 나오지 않을 때까지 위 두 작업을 반복합니다.
예를 들어, 올해 연도인 2019로 카프리카 연산을 하면 다음과 같습니다.
9210 - 0129 = 9081
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174
위에서 보이듯, 6174가 나온 후에는 새로운 수가 나오지 않습니다. 카프리카는 네 자리 이하의 수는 자릿수가 모두 같은 0000, 1111, 2222, $\cdots$를 제외하고는 모두 6174에서 계산이 끝난다는 사실을 알아냅니다. 다음 코드는 이 계산을 하게 해주는 C 코드입니다. (네 자리 수를 입력하면 계산과정을 출력해줍니다.)
#include <stdio.h>
int rearrange(int number, int direction)
{
int digits[10]={0,}, output=0, i, c=4;
for(i=0; i<4; i++, number/=10) digits[number%10]++;
for(i = (direction < 0 ? 9:0) ; c>0; i += direction )
for( ; digits[i] > 0; digits[i]--)
output = 10*output + i, c--;
return output;
}
int main()
{
int n, temp = -1;
scanf("%d", &n);
do {
n = (temp == -1 ? n : temp);
printf("%04d - %04d = %04d\n", rearrange(n,-1), rearrange(n,1), temp = rearrange(n,-1)-rearrange(n,1));
} while(n != temp);
}
이 문서의 제일 위에 있는 그림은 6174가 나올 때까지 카프리카 연산의 반복되는 부분의 실행횟수를 색으로 나타낸 것입니다. 왼쪽 아래 모퉁이가 0, 오른쪽 위 모퉁이가 9999, 오른쪽 아래 모퉁이가 99에 해당하는 숫자이며, 이렇게 배열된 숫자에 해당하는 반복실행횟수를 색으로 칠했습니다. 6174에 색칠된 흰 색 때문에 $y=x$에 해당하는 대각선에 대해 대칭이 되지는 않습니다.
그림을 통해 알 수 있듯이, 자릿수가 모두 같은 수가 아닌 수는 7회 이내의 반복연산에 의해 6174라는 값이 됩니다. 이 수를 카프리카 상수라 합니다. 세 자릿수에서 동일한 작업을 하면 495로 6단계 이내에 결과가 나옴을 확인할 수 있습니다. 다른 자릿수에는 이런 카프리카 상수가 없기도 하고 둘 이상이 있는 경우도 있습니다. 10진수가 아닌 다른 진법에서도 비슷한 현상을 발견할 수 있습니다. 자세한 내용은 다음 링크를 참고하세요.
Kaprekar Routine
카프리카 상수의 이런 현상이 수학적으로 의미가 있는 현상인지, 아니면 우연한 일인지는 확실하지 않습니다. 카프리카 상수의 미스테리에 매료된 어떤 음악인은 밴드의 이름을 <Kaprekar’s Constant>라 하고 활동을 하고 있습니다. 수학계에서는 고마운 일입니다. 앨범 사진과 음악을 첨부합니다.