特开一个新标签来写leetcode上面的一些题,有的题真的很不错,第一篇就以一个很简单的Nim Game来开始吧。
要求:2个人做游戏,给定数量的一堆石头,每人每次从中拿出1-3个,拿到最后一块石头的人获胜,前提是永远是你先拿石头。编写一个函数,输出你是否会赢得胜利。
这个问题似乎可以每次减1,2,3其中一个然后做循环直到n为0,但其实仔细想想,它是一道数学题。假如只剩下4个的时候,是不是无论我们拿多少都会输呢,依次往前推,每次碰到4个的时候我们拿几个都会让对手来碰到下一个“4”,所以,问题简单了,这不就是n % 4的问题吗。
代码非常短,不写出来了,ACCEPT!