题型:编程题
数字黑洞
时间限制:1.0 s
内存限制:128.0 MB
问题描述
给定一个三位数,要求各位不能相同。例如,352是符合要求的,112是不符合要求的。将这个三位数的三个数字重新排列,得到的最大的数,减去得到的最小的数,形成一个新的三位数。对这个新的三位数可以重复上述过程。神奇的是,最终一定会得到495!
试试看,重新排列352,得到的最大数为532,最小数为235,它们的差是297;变换297,得到972-297=693;变换693,963-369=594 ;变换594,954-459=495 。因此,352 经过4次变换得到了495 。
现在,输入的三位数,你能通过编程得出,这个三位数经过多少次变换能够得到495吗?
输入描述
输入一行,包含一个符合要求的三位数N。
输出描述
输出一行,包含一个整数C,表示经过C次变换得到495。
样例输入1
352
样例输出1
4
更新时间:2023-10-02 14:25:09
|
【知识点】
CCF—GESP Python二级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
下面的Python 代码执行后其输出是( )。
cnt = 0 for i in range(1, 5): for j in range(i): print(j, end = "#") break else: print(i*j)
| A. 0#0#1#0#1#2#0#1#2#3#12 |
B. 0#0#1#0#1#2#0#1#2#3# |
| C. 0# |
D. 1# |
2026-07-31
判断题
下列Python 代码执行后将输出1#4#9#16#16 。()
for i in range(1, 5): for j in range(1, i + 1): if i * j % 10 == 0: break else: print(i * j, end = "#") else: print(i * j)
| A.正确 | B.错误 |
2026-07-31
判断题
下面的Python 代码执行将不会有输出,因为内层循环j 总是0 开始,i * j % 10 == 0 将会被满足,执行break,故而不会执行代码中的else 子句部分。()
for i in range(1, 10): for j in range(i): if i * j % 10 == 0: break else: print(i*j)
| A.正确 | B.错误 |
2026-07-31
判断题
执行下面的Python 代码,其语句print(N) 将被执行0 次或极多次(即死循环)。()
N = input() while N : print(N)
| A.正确 | B.错误 |
2026-07-31
单选题
下面选择项中,与Python 表达式not (x > 5 and y <= 10)等价的是( )。
| A. x <= 5 and y > 10 |
B. x > 5 or y <= 10 |
| C. x <= 5 or y > 10 |
D. not x > 5 and not y <= 10 |
2026-07-31
