LeetCode 292. Nim Game
考点 | 难度 |
---|---|
Math | Easy |
题目
You are playing the following Nim Game with your friend:
Initially, there is a heap of stones on the table.
You and your friend will alternate taking turns, and you go first.
On each turn, the person whose turn it is will remove 1 to 3 stones from the heap.
The one who removes the last stone is the winner.
Given n
, the number of stones in the heap, return true
if you can win the game assuming both you and your friend play optimally, otherwise return false
.
思路
如果剩下1,2,3个石头,赢。
如果剩下4个石头,输。
如果剩下5,6,7个石头,可以给对方剩下4个石头,赢。
如果剩下8个石头,输。
以此类推,如果石头总数是4的倍数,输,其他情况赢。
答案
public boolean canWinNim(int n) {
return (n % 4 != 0);
}