from itertools import permutations
def calculate_24(a, b, c, d):
numbers = [a, b, c, d]
operators = ['+', '-', '*', '/']
for num_perm in permutations(numbers):
for op1 in operators:
for op2 in operators:
for op3 in operators:
expressions = [#表达式的不同排列组合
f"({num_perm[0]}{op1}{num_perm[1]}){op2}({num_perm[2]}{op3}{num_perm[3]})",
f"(({num_perm[0]}{op1}{num_perm[1]}){op2}{num_perm[2]}){op3}{num_perm[3]}",
f"({num_perm[0]}{op1}({num_perm[1]}{op2}{num_perm[2]})){op3}{num_perm[3]}",
f"{num_perm[0]}{op1}(({num_perm[1]}{op2}{num_perm[2]}){op3}{num_perm[3]})",
f"{num_perm[0]}{op1}({num_perm[1]}{op2}({num_perm[2]}{op3}{num_perm[3]}))"
]
for expr in expressions:
try:
if abs(eval(expr) - 24) < 1e-6:
return True
except ZeroDivisionError: # ZeroDivisionError: division by zero 是一个常见的错误,通常发生在程序试图用零作为除数时。以下是一些常见的场景和解决方法。
continue
return False
# 示例调用
while True:
try:
a,b,c,d=map(int,input().strip().split())
if calculate_24(a,b,c,d):
print("true")
else:
print("false")
except:
break