6174是个神奇的数字,一个任意的四位正整数(全相同的除外,如1111)。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。
现在编程验证此现象,输入一个每位数不完全相同的四位正整数,给出计算过程,最终得到6174,例如:
输入2687
打印
8762-2678=6084
8640-468=8172
8721-1278=7443
7443-3447=3996
9963-3699=6264
6642-2466=4176
7641-1467=6174
注意如果数字是7767则
7776-6777=999
9990-999=8991
现在编程验证此现象,输入一个每位数不完全相同的四位正整数,给出计算过程,最终得到6174,例如:
输入2687
打印
8762-2678=6084
8640-468=8172
8721-1278=7443
7443-3447=3996
9963-3699=6264
6642-2466=4176
7641-1467=6174
注意如果数字是7767则
7776-6777=999
9990-999=8991
这里是9990-999,而不是999-999,即第一个数如果不是4位要在后面补0到四位。
Python源码:
num = int(input())
c = num
while c != 6174:
digits = list(str(c))
digits.sort(reverse=True)
if len(digits) < 4:
digits.append('0')
a = int(''.join(digits))
digits.reverse()
b = int(''.join(digits))
c = a - b
print("%d - %d = %d" % (a, b, c))