LeetCode 292. Nim 游戏(Java实现)

题目描述:

	你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。
	拿掉最后一块石头的人就是获胜者。你作为先手。
	你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。

示例:

    输入: 4
    输出: false
    解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛;
    因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走。 

代码实现

public class NimGame {
    /**
     *
     * @param n 初始石头个数
     * @return  我是否胜利
     */
    public static boolean canWinGame(int n){
        return n%4!=0;//画个图分析就知道在4的倍数的情况下我是必输的=,=
    }

    public static void main(String[] args) {
        System.out.println(canWinGame(10));
    }
}

PS:果然是脑筋急转弯吗=,=

你可能感兴趣的:(LeetCode 292. Nim 游戏(Java实现))