题解 | #24点游戏算法#
24点游戏算法
https://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb
def func(l,n):
if len(l)==1:
return l[0]==n
else:
for i in range(len(l)):
ls=l[:i]+l[i+1:] # 抽出一个数字
m=l[i]
# 抽出去的数字可用可不用,用的话又分为加减乘除四种,所以共延申出5种场景
if func(ls,n-m) or func(ls,n+m) or func(ls,n*m) or func(ls,n/m) or func(ls,n):
return True
return False
while 1:
try:
l=list(map(int,input().split()))
res="true" if func(l,24) else "false"
print(res)
except:
break

