中文描述
你和小明玩nim游戏,有一堆石头,让你先拿,每人每次最多拿1-3块,最后一次拿的获胜。给你一个石头的数量,请判断你能否获胜。
例如:如果石头是4块的话,无论你怎么拿都不能获胜。
说明
刚看到这个题目,一脸的懵逼,这是什么玩意啊,这怎么判断?后来看到事例才发现,4块石头,你先拿,你永远失败,那么更多块石头呢?而且4块石头你必输,如果你第一次拿掉石头,剩下4块石头就表明你永远会获胜,通过4-10块石头的比较,发现当你拿走一次后,如果石头是4的倍数那么你就会获胜,因此无论第二次对手拿掉多少,你都可以下一次从中拿走1-3块石头,两者凑成4块石头,因此如果石头数目是4的整数倍,你就会失败。
java代码
public class Solution {
public boolean canWinNim(int n) {
if(n%4 == 0){
return false;
}else{
return true;
}
}
}
备注
先临时记录自己的方法,刷完easy题之后再去看别人的方法,如果有更好的方法,会做补充,如果你有的话请留言,谢谢啦