1. 程式人生 > >前端演算法:nim遊戲程式設計

前端演算法:nim遊戲程式設計

你和你的朋友,兩個人一起玩 Nim遊戲:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最後一塊石頭的人就是獲勝者。你作為先手。
你們是聰明人,每一步都是最優解。 編寫一個函式,來判斷你是否可以在給定石頭數量的情況下贏得遊戲。

示例:
輸入: 4
輸出: false 
解釋: 如果堆中有 4 塊石頭,那麼你永遠不會贏得比賽;
因為無論你拿走 1 塊、2 塊 還是 3 塊石頭,最後一塊石頭總是會被你的朋友拿走。
<script>
var canWinNim = function(n) {
  if(n===1 || n===2 || n===3){
    return true;
  } else if( n%4 === 0){
    return false;
  } else{
    return true;
  }
};
console.log(canWinNim(20));
</script>