网站用什么做关键词,手机网站建设模板,怎么做国际网站,网站开发的经济效益分析292.Nim游戏
题目
你和你的朋友#xff0c;两个人一起玩 Nim 游戏#xff1a;
桌子上有一堆石头。你们轮流进行自己的回合#xff0c; 你作为先手 。每一回合#xff0c;轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。
假设你们每一步都是最优解。请编写…292.Nim游戏
题目
你和你的朋友两个人一起玩 Nim 游戏
桌子上有一堆石头。你们轮流进行自己的回合 你作为先手 。每一回合轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。
假设你们每一步都是最优解。请编写一个函数来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢返回 true否则返回 false 。
示例 1
输入n 4
输出false
解释以下是可能的结果:
1. 移除1颗石头。你的朋友移走了3块石头包括最后一块。你的朋友赢了。
2. 移除2个石子。你的朋友移走2块石头包括最后一块。你的朋友赢了。
3.你移走3颗石子。你的朋友移走了最后一块石头。你的朋友赢了。
在所有结果中你的朋友是赢家。示例 2
输入n 1
输出true示例 3
输入n 2
输出true
提示
1 n 231 - 1 思路
小学数学题找规律
推导
数字输赢1true2true3true4false 拿多少个都必输5true拿1个剩4个对手必输6true拿2个剩4个对手必输7true拿3个剩4个对手必输8false 不管拿几个对手都能拿到剩4个你必输9true拿1个剩8个对手必输10true拿2个剩8个对手必输11true拿3个剩4个对手必输12false 不管拿几个对手都能拿到剩4个你必输13true拿1个剩12个对手必输
因此可以得出只要不是4的倍数就是必赢 巴什博弈Bash game是一个双人博弈有一堆总数为n的物品2名玩家轮流从中拿取物品。每次至少拿1件至多拿m件不能不拿最终将物品拿完者获胜。 java代码
class Solution {public boolean canWinNim(int n) {return n % 4 ! 0;}
}