题目要求
小明的作业本上有道思考题:
看下面的算式:
(□□□□-□□□□)*□□=900
其中的小方块代表 0 ~ 9 的数字,这 10 个方块刚好包含了 0 ~ 9 中的所有数字。 注意:0 不能作为某个数字的首位。
小明经过几天的努力,终于做出了答案!如下:
(5012-4987)*36=900
用计算机搜索后,发现还有另外一个解,本题的任务就是:请你算出这另外的一个解。
注意:输出格式需要与示例严格一致; 括号及运算符号不要用中文输入法; 整个算式中不能包含空格。
程序代码
import itertools
# 定义一个数组
a = list(map(int, list('0123456789')))
for i in itertools.permutations(a, 10):
# 把迭代数组连接起来
t = ''.join(list(map(str, i)))
# 第一个数字不能等于0
if t[0] == '0' or t[4] == '0' or t[8] == '0':
continue
else:
# 第一个数字
a = int(t[0:4])
# 第二个数字
b = int(t[4:8])
# 第三个数字
c = int(t[8:10])
if (a - b) * c == 900:
print(f'({a}-{b})*{c}=900')
运算结果:
(5012-4987)*36=900
(6048-5973)*12=900