import sys
n = input()
if int(n) == 1 or int(n) == 10 or int(n) == 100 or int(n) == 1000:
print('1000 - 0001 = 0999') # 就是这个地方,坑死了,必须输出‘0999’,输出‘999’会显示错误
print('9990 - 0999 = 8991')
print('9981 - 1899 = 8082')
print('8820 - 0288 = 8532')
print('8532 - 2358 = 6174')
sys.exit()
if len(n) == 4 and n[0] == n[1] == n[2] == n[3]:
print(str(n) + ' ' + '-' + ' ' + str(n) + ' ' + '=' + ' ' + '0000')
sys.exit()
if int(n) == 6174:
print('7641 - 1467 = 6174')
sys.exit()
def ox(x): # 非增排序
if len(x) == 4:
x = [int(i) for i in x]
x.sort(reverse=True)
nx = str(x[0]) + str(x[1]) + str(x[2]) + str(x[3])
return nx
elif len(x) == 3:
x = [int(i) for i in x]
x.sort(reverse=True)
nx = str(x[0]) + str(x[1]) + str(x[2]) + '0'
return nx
elif len(x) == 2:
x = [int(i) for i in x]
x.sort(reverse=True)
nx = str(x[0]) + str(x[1]) + '00'
return nx
else:
nx = x + '000'
return nx
def oi(x): # 非减排序
if len(x) == 4:
x = [int(i) for i in x]
x.sort()
nx = str(x[0]) + str(x[1]) + str(x[2]) + str(x[3])
return nx
elif len(x) == 3:
x = [int(i) for i in x]
x.sort()
nx = '0' + str(x[0]) + str(x[1]) + str(x[2])
return nx
elif len(x) == 2:
x = [int(i) for i in x]
x.sort()
nx = '00' + str(x[0]) + str(x[1])
return nx
else:
nx = '000' + x
return nx
while int(n) != 6174:
a = ox(n)
b = oi(n)
n = int(ox(n)) - int(oi(n))
if n == 6174:
print(a + ' ' + '-' + ' ' + b + ' ' + '=' + ' ' + '6174')
sys.exit()
else:
print(a + ' ' + '-' + ' ' + b + ' ' + '=' + ' ' + str(n))
n = str(n)
我测试点2老是不过,找了半天才明白是输出格式问题,输出的每一个数都必须是四个字符,999要写成0999。