A36172. 数字黑洞问题描述给定一个三位数,要求各位不能相同。例如, 是符合要求的, 是不符合要求的。将这个三位数的三个数字重新排列,得到的最大的数,减去得到的最小的数,形成一个新的三位数。对这个新的三位数可以重复上述过程。神奇的是,最终一定会得到 !试试看,重新排列 ,得到的最大数为 ,最小数为 ,它们的差是 ;变换 ,得到 ;变换, ;变换 , 。因此, 经过4次变换得到了 。现在,输入的三位数,你能通…
填空题
较易
知识点
题目描述
数字黑洞
问题描述
给定一个三位数,要求各位不能相同。例如, 是符合要求的, 是不符合要求的。将这个三位数的三个数字重
新排列,得到的最大的数,减去得到的最小的数,形成一个新的三位数。对这个新的三位数可以重复上述过程。神奇的是,最终一定会得到 !
试试看,重新排列 ,得到的最大数为 ,最小数为 ,它们的差是 ;变换 ,得到 ;变换, ;变换 , 。因此, 经过4次变换得到了 。
现在,输入的三位数,你能通过编程得出,这个三位数经过多少次变换能够得到495吗?
输入描述
输入一行,包含一个符合要求的三位数N。
输出描述
输出一行,包含一个整数C,表示经过C次变换得到495。
样例输入
352
样例输出
4
参考答案
N = input()
step = 0
while int(N) != 495:
Min = N[0]
Mid = N[1]
Max = N[2]
if Mid < Min:
Mid, Min = Min, Mid
if Max < Min:
Max, Min = Min, Max
if Mid > Max:
Mid, Max = Max, Mid
if Min > Max:
Min, Max = Max, Min
N = int(Max) * 100 + int(Mid) * 10 + int(Min) * 1 - int(Min) * 100 - int(Mid) * 10 - int(Max) * 1
N = str(N)
step += 1
print(step)
上一题
下一题