好像只有一个答案
给定等式:
A B C D E
D F G
+ D F G
____________
X Y Z D E
其中每个字母代表不同的数字(0-9),编程求出这些数字,并打印等式。
for g in [0, 5]:
for a in range(1, 10):
for d in range(1, 10):
for b in range(0, 10):
for c in range(0, 10):
for e in range(0, 10):
for f in range(0, 10):
temp = [a, b, c, d, e, f, g]
temp = set(temp)
if len(temp) != 7:
continue
k = e + d * 10 + c * 100 + b * 1000 + a * 10000 + 2 * (g + f * 10 + d * 100)
result = []
mark = 0
for i in range(0, 5):
if i == 1 and k % 10 != d:
mark = 1
break
result.append(k % 10)
k = k // 10
if mark == 0 and k < 100000 and result[4] != 0:
temp = [a, b, c, d, e, f, g, result[4], result[3], result[2]]
temp = set(temp)
if len(temp) != 10:
continue
print(" ", a, b, c, d, e)
print(" ", d, f, g)
print("+", " ", d, f, g)
print("____________")
print(" ", result[4], result[3], result[2], result[1], result[0])
print()
2 9 7 8 6
8 5 0
+ 8 5 0
____________
3 1 4 8 6