1 2 3 4 5 6 7 8 9 = 100
利用python的itertools求解
from itertools import product
n = 0
for s in product('+-*/ ', repeat = 8):
e = ''
for i in range(1, 9):
assert(len(s) > 0)
e += '%d' % i
if (s[0] != ' '):
e += s[0]
s = s[1:]
e += '9'
if eval(e) == 100:
n += 1
print('%d#' % n, end = '\t')
print('%s=100' % e)
运行结果
1# 1+2+3+4+5+6+7+8*9=100
2# 1+2+3-4+5+6+78+9=100
3# 1+2+3-4*5+6*7+8*9=100
4# 1+2+3-45+67+8*9=100
5# 1+2+3*4-5-6+7+89=100
6# 1+2+3*4*5/6+78+9=100
7# 1+2+3*4*56/7-8+9=100
8# 1+2+34-5+67-8+9=100
9# 1+2+34*5+6-7-8*9&#