python3之nim遊戲

先上代碼

class Solution: 

def canWinNim(self, n: int) -> bool:
if n%4==0:
return False
else:
return True

python3編程實現nim遊戲的輸贏分析

你和你的朋友,兩個人一起玩 Nim 遊戲:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最後一塊石頭的人就是獲勝者。你作為先手。

你們是聰明人,每一步都是最優解。 編寫一個函數,來判斷你是否可以在給定石頭數量的情況下贏得遊戲。

示例:

輸入: 4

輸出: false

解釋: 如果堆中有 4 塊石頭,那麼你永遠不會贏得比賽如果堆中石頭的數量 n 不能被 4 整除,那麼你總是可以贏得 Nim 遊戲的勝利。 推理 讓我們考慮一些小例子。顯而易見的是,如果石頭堆中只有一塊、兩塊、或是三塊石頭,那麼在你的回合,你就可以把全部石子拿走,從而在遊戲中取勝。塊石頭總是會被你的朋友拿走。


分享到:


相關文章: