卡普雷卡常数运算是由 D. R. 卡普雷卡于 1949 年发现的一种算法,最初用于 4 位数字,但可以推广到 -位数字。要对数字
应用卡普雷卡常数运算,请按降序 (
) 和升序 (
) 排列数字。现在计算
(丢弃任何前导 0),并进行迭代,其中
有时称为卡普雷卡函数。该算法会达到 0(一种退化情况)、一个常数或一个循环,具体取决于
中的位数和
的值。值的列表有时称为卡普雷卡序列,结果
有时称为卡普雷卡数 (Deutsch and Goldman 2004),尽管由于与另一种 卡普雷卡数 的混淆,这种命名应弃用。
在十进制中,使得 的数字
由 495、6174、549945、631764, ... (OEIS A099009) 给出。类似地,使得迭代
得到长度为
的循环的数字
由 53955、59994、61974、62964、63954、71973, ... (OEIS A099010) 给出。
在十进制中迭代卡普雷卡映射,所有 1 位和 2 位数字都得到 0。恰好有 60 个 3 位数字,即 100、101、110、111、112、121、122、211、212、221, ... (OEIS A090429),达到 0,而其余的在最多 6 次迭代中得到 495。恰好有 77 个 4 位数字,即 1000、1011、1101、1110、1111、1112、1121、1211, ... (OEIS A069746),达到 0,而其余的在最多 8 次迭代中得到 6174。值 6174 有时被称为 卡普雷卡常数 (Kaprekar's constant) (Deutsch and Goldman 2004)。对于 5 位数字,这种模式会失效,5 位数字可能会收敛到 0 或 10 个常数之一:53955、59994、61974、62964、63954、71973、74943、75933、82962、83952。
下表总结了各种基数 和前几位数字中可能的循环。
位数为 | |
2 | 0,
0, 9, 21, |
3 | 0, 0, (32, 52), 184, (320, 580, 484), ... |
4 | 0,
30, |
5 | 8, (48, 72), 392, (1992, 2616, 2856, 2232), (7488, 10712, 9992, 13736, 11432), ... |
6 | 0, 105, (430, 890, 920, 675, 860, 705), |
7 | 0, (144, 192), (1068, 1752, 1836), (9936, 15072, 13680, 13008, 10608), (55500, 89112, 91800, 72012, 91212, 77388), ... |
8 | 21, 252, |
9 | (16,
48), (320, 400), |
10 | 0,
495, 6174, |
![](/images/covers/MathematicsTeacher-v67.jpg)
上图(类似于 *The Mathematics Teacher* 上述期刊封面上出现的图)显示了对于 n=0 到 9999 的值,卡普雷卡常数运算达到不动点所需的步数,并按长度为 100 的行进行分区 (Deutsch and Goldman 2004)。在此图中,位数少于 4 位的数字用前导 0 填充,因此所有值都收敛到 6174。