-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathnim_game.rb
26 lines (24 loc) · 871 Bytes
/
nim_game.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# https://leetcode.com/problems/nim-game/
#
# You are playing the following Nim Game with your friend: There is a heap of
# stones on the table, each time one of you take turns to remove 1 to 3 stones.
# The one who removes the last stone will be the winner. You will take the
# first turn to remove the stones.
#
# Both of you are very clever and have optimal strategies for the game. Write
# a function to determine whether you can win the game given the number of
# stones in the heap.
#
# For example, if there are 4 stones in the heap, then you will never win the
# game: no matter 1, 2, or 3 stones you remove, the last stone will always be
# removed by your friend.
#
# Credits:
#
# Special thanks to @jianchao.li.fighter for adding this problem and
# creating all test cases.
# @param {Integer} n
# @return {Boolean}
def can_win_nim(n)
n % 4 != 0
end