← 完整题目索引

PROJECT EULER · #0414

卡普雷卡常数

Kaprekar Constant

仅题目 · 待解原题 ↗

6174 是一个了不起的数字;如果我们按升序对它的数字进行排序,并从按降序对数字进行排序时得到的数字中减去该数字,我们将得到 76411467=6174
更值得注意的是,如果我们从任何 4 位数字开始并重复这个排序和减法过程,我们最终将得到 6174,如果所有数字都相等,我们将立即得到 0
如果我们用前导零填充数字,直到我们有 4 数字,这也适用于数字少于 4 的数字。
例如让我们从数字 0837 开始:
87300378=8352
85322358=6174

6174 称为Kaprekar 常数。排序、减去并重复此过程直到达到 0 或 Kaprekar 常数的过程称为 Kaprekar 例程

我们可以考虑其他碱基和位数的 Kaprekar 例程。
不幸的是,并不能保证在所有情况下都存在 Kaprekar 常数。对于某些输入数字,例程可能会以循环结束,或者对于不同的输入数字,例程到达的常量可能不同。
然而,可以证明,对于 5 数字和基数 b=6t+39,存在 Kaprekar 常数。
例如基础 15(10,4,14,9,5)15
基础 21(14,6,20,13,7)21

Cb 定义为 5 位的以 b 为基数的 Kaprekar 常量。 将函数 sb(i) 定义为

  • 0 如果 i=Cb 或以 b 为基数的 i5 相同的数字组成
  • Kaprekar 例程以 b 为基数到达 Cb 所需的迭代次数,否则
请注意,我们可以为所有整数 i<b5 定义 sb(i)。如果以 b 为基数写入的 i 少于 5 数字,则在应用 Kaprekar 例程之前,该数字将用前导零数字填充,直到达到 5 数字为止。

S(b) 定义为 0<i<b5sb(i) 之和。
例如S(15)=5274369
S(111)=400668930299

S(6k+3) 的总和 2k300
给出最后 18 数字作为您的答案。

题解待补充

这道题的题目已收录,解题思路、代码和答案将在后续补充。