题目链接
难度: 简单 类型:智力题
示例
输入: 4
输出: false
解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛;
因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走。
解题思路
- 如果最后剩下1-3个石头,你肯定是赢家,如果此时剩下4个石头,你无论拿多少个,对方一定会赢。
- 如果此时剩下5个石头,这时你的最佳策略是拿走一个石头,这是对方就回到了你面对4个石头的情况,这时候你肯定赢。
- 如果此时剩下的石头为6或者7,你都可以拿走一些石头,让对方剩下4个石头,而让你赢。
- 如果剩下8个石头,对方就可以根据你拿的石头数量,然后给你剩下4个石头,所以你只能输。
代码实现
def canWinNim(n):
return not (n % 4 == 0)