题解 | #24点游戏算法#

24点游戏算法

https://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb

没什么新意, 纯暴力破解
import itertools
num = input().split(' ')

def find(num):
    possible = 'false'
    for nums in itertools.permutations(num):
        for one in '+-*/':
            for two in '+-*/':
                for three in '+-*/':
                    cmd = nums[0]+one+nums[1]+two+nums[2]+three+nums[3]
                    for i in [0,2,4,6]:
                        cmd_left = cmd[0:i]+'('+cmd[i::]
                        for j in [len(cmd_left)-2*k for k in range(4)]:
                            cmd_right = cmd_left[0:j] + ')' + cmd_left[j::]
                            try:
                                r = eval(cmd_right)
                                if r == 24:
                                    possible = 'true'
                                    return possible
                            except:
                                pass
    return possible
print(find(num))




全部评论
1 5 1 3好像不行
点赞 回复 分享
发布于 2022-09-18 12:01 河南

相关推荐

羊村懒哥:学历基本到点,考个研吧
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务