你和你的朋友,兩個人一起玩 [Nim游戲]:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最后一塊石頭的人就是獲勝者。你作為先手。
你們是聰明人,每一步都是最優(yōu)解。 編寫一個函數(shù),來判斷你是否可以在給定石頭數(shù)量的情況下贏得游戲。
示例:
輸入: 4
輸出: false
解釋:如果堆中有 4 塊石頭,那么你永遠(yuǎn)不會贏得比賽;
因?yàn)闊o論你拿走 1 塊、2 塊 還是 3 塊石頭,最后一塊石頭總是會被你的朋友拿走。
如果n對4取余,如果整除的話,那么相當(dāng)于我處在對方的位置,穩(wěn)輸。如果不是,位于第1、2、3個的位置上,那么我會穩(wěn)贏。
代碼:
public class Solution {
public boolean canWinNim(int n) {
int val = n%4;
if(val >= 1 && val <= 3)
return true;
return false;
}
}