题解 | 24点游戏算法
24点游戏算法
https://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb
def func(num): if len(num) == 1: return abs(abs(num[0])-24) < 0.00001 for i in range(len(num)): for j in range(i+1, len(num)): m1 = num[i] m2 = num[j] rst = num[:i] + num[i+1:j] + num[j+1:] if func([m1+m2]+rst) or func([m1-m2]+rst) or func([m1*m2]+rst): return True if m1 != 0 and func([m2/m1]+rst): return True if m2 != 0 and func([m1/m2]+rst): return True while True: try: data = list(map(int, input().split())) res = func(data) if res: print("true") else: print("false") except: break