题解 | #24点游戏算法#
24点游戏算法
http://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb
def helper(arr,item):#先写一个利用递归+枚举解决算24的程序
if item<1:
return False
if len(arr)==1:#递归终点,当数组arr只剩一个数的时候,判断是否等于item
return arr[0]==item
else:#如果arr不是只剩一个数,就调用函数本身(直到只剩一个为止返回真假)
for i in range(len(arr)):
m=arr[0:i]+arr[i+1:]
n=arr[i]
if helper(m,item+n) or helper(m, item-n) or helper(m, item*n) or helper(m, item/n):
return True
return False
while True:
try:
if helper(list(map(int,input().split())), 24):
print('true')
else:
print('false')
except:
break
查看7道真题和解析
