为什么数字6174如此有趣?根据维基百科的定义
- 至少使用两个不同的数字,取任意四位数的数字。(允许前导零。)
- 按升序排列数字,然后按降序排列以获得两个四位数字,并在必要时添加前导零。
- 从较大的数字中减去较小的数字。
- 返回步骤2。
以上过程称为Kaprekar例程,最多7次迭代将始终达到6174。一旦达到6174,该过程将继续产生。
编写一个程序,对给定的四位数数字(请参见上面的定义)运行Kaprekar例程,以打印出例程的每个步骤。
规则:
- 提交的内容必须是完整的程序。
- 输入必须从标准输入中读取。从回显管道可以。
- 输入应为数字形式。
- 需要打印出前导零。(请参见下面的示例。)
- 最后一行应说明需要进行多少次迭代。标点符号是必需的。
例子:
> 2607
7620 - 0267 = 7353
7533 - 3357 = 4176
7641 - 1467 = 6174
Iterations: 3.
> 1211
2111 - 1112 = 0999
9990 - 0999 = 8991
9981 - 1899 = 8082
8820 - 0288 = 8532
8532 - 2358 = 6174
Iterations: 5.
> 6174
7641 - 1467 = 6174
Iterations: 1.
欢迎使用任何编程语言。深奥的加分+小赏金。
更新1:已经有一个类似的问题。
更新2:添加了6174作为输入的示例。感谢Peter Taylor的通知。