3.4.-6.10四个数算24

来源:百度知道 编辑:UC知道 时间:2024/05/06 19:33:32
两种方法

今天被问初中的题,最恨这种傻逼穷举了,修改number_list和points,可以对任意数等于points成立。此处
number_list = [3,4,-6,10]
points = 24

import itertools

number_list = [3,4,-6,10]
points = 24

def operator(b,a,op):
if op == 1:
return a+b
elif op == 2:
return a-b
elif op == 3:
return a*b
elif op == 4:
return a/b

def print_op(op):
if op == 1:
return '+'
elif op == 2:
return '-'
elif op == 3:
return '*'
elif op == 4:
return '/'

def format_output(i,o):
bar = list(o)
bar.reverse()
foo = ''
for j in range(len(i) - 1):
foo += '({%d}{%d}' % (j,len(i)+j)

foo += '{%d}' % (len(i) - 1)
foo += ')'*len(o)

print foo.format(*(map(int,i