尼姆游戏

本文介绍了尼姆游戏的玩法,玩家每次必须至少拿走一个并最多拿走一半物品,目标是避免成为最后拿走物品的人。文章还特别提到了聪明模式,其中计算机将根据规则拿走使堆大小为2的幂次方减1的物品,或者在其他情况下随机拿走一些。文章提供了一个Python程序来模拟这个聪明版本的尼姆游戏。
摘要由CSDN通过智能技术生成

尼姆游戏(Python)

尼姆游戏是个著名的游戏,有很多变种玩法。两个玩家轮流从一堆物品中拿走一部分。
在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家。拿走最后一个物品的玩家输掉游戏。

在聪明模式中,计算机每次拿走足够多的物品使得堆的大小是 2 的幂次方减 1——也就是 3,7,15,31 或 63。除了堆的大小已经是 2 的幂次方减 1,在其他情况下这样走都是符合游戏规则的。在那种情况下,计算机就按游戏规则随机拿走一些。

编写程序,模拟聪明版本的尼姆游戏。

代码如下:

from random import randint,choice

def everyStep(n):
    half = n/2
    m = 1
    # 所有可能满足的取法
    possible = []
    while True
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值