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

全部评论

相关推荐

点赞 评论 收藏
分享
下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务