In number theory, Kaprekar's routine is an iterative algorithm named after its inventor, Indian mathematician D. R. Kaprekar. Each iteration starts with a number, sorts the digits into descending and ascending order, and calculates the difference between the two new numbers.
As an example, starting with the number 8991 in base 10:
6174, known as Kaprekar's constant, is a fixed point of this algorithm. Any four-digit number (in base 10) with at least two distinct digits will reach 6174 within seven iterations. The algorithm runs on any natural number in any given number base.
The algorithm is as follows:
n
b
\alpha
n
\beta
n
\alpha-\beta
Kb(n)=\alpha-\beta
b
For example, in base 10, starting with 3524,
K10(3524)=5432-2345=3087
K10(3087)=8730-378=8352
K10(8352)=8532-2358=6174
K10(6174)=7641-1467=6174
with 6174 as a Kaprekar's constant.
All Kaprekar sequences will either reach one of these fixed points or will result in a repeating cycle. Either way, the end result is reached in a fairly small number of steps.
Note that the numbers
\alpha
\beta
b-1
b
b-1
When leading zeroes are retained, only repdigits lead to the trivial Kaprekar's constant.
In base 4, it can easily be shown that all numbers of the form 3021, 310221, 31102221, 3...111...02...222...1 (where the length of the "1" sequence and the length of the "2" sequence are the same) are fixed points of the Kaprekar mapping.
In base 10, it can easily be shown that all numbers of the form 6174, 631764, 63317664, 6...333...17...666...4 (where the length of the "3" sequence and the length of the "6" sequence are the same) are fixed points of the Kaprekar mapping.
It can be shown that all natural numbers
m=(k)b2n
n-1 | |
\left(\sum | |
i=0 |
bi\right)+(k-1)b2n+(2k-1)bn
n | |
\left(\sum | |
i=0 |
bi\right)+(k-1)b
n-1 | |
\left(\sum | |
i=0 |
bi\right)+(k)