题解 | #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

全部评论

相关推荐

10-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务