今天在网上逛得时候看到了这个问题,其实这个游戏很早就被发明了,但是直到20世纪初才被哈佛大学的一个叫做Charles Leonard Bouton的数学家找到最优解。可见还是有点难度的。这个游戏的关键在于使用异或运算。
下面是对这个游戏的理论解释http://blog.csdn.net/shawnn/archive/2009/03/22/4014664.aspx
有了上面这个理论基础,那编程就简单了。
下面是代码:
相当简单吧。
如果要解“先手的人如果想赢,可以有几种选择”的话。只要稍微变一下就OK了