巴什博奕

巴什博奕,博奕学中最简单的一种博奕

两个顶尖聪明的人在玩游戏,有n个石子,每人可以随便拿1-m个石子,取走最后一个石子的人获胜,问最终谁会获胜

其实我们从1个石子开始推,当推演到10多个石子的时候,也能发现规律,其实规律很明显

当n%(m+1) != 0 时,先手总是会赢的


实例:

下面是LeetCode上的一道巴什博奕的题,其实特别简单,找出规律来,一行代码解决
Nim游戏


代码:

class Solution:
    def canWinNim(self, n: int) -> bool:
            return n%4 != 0

你可能感兴趣的:(小技巧,算法)