[leetcode]292. Nim Game

题目地址

https://leetcode.com/problems/nim-game/

题目大意

和好朋友玩游戏,桌子上与很多棋子,每个人轮流拿棋子,可以拿1个、2个或3个,拿走最后一个棋子的人获胜。假设你和你的好朋友都很聪明,永远使用最优解,当给定桌子上棋子的数量,输出你先拿棋子的情况下,是否能够获胜。

解题思路

这是一个数学题,当剩下的棋子数量为4的倍数时,下一要拿的人就会输。需要注意,当不使用提示编译器进入if语句可能性的语句时候,将大概率可能的情况作为iftrue的情况。

代码

class Solution {
public:
    bool canWinNim(int n) {
        if (n % 4 != 0) {
            return true;
        }
        return false;
    }
};
点赞