Nim游戏(又名取石子问题)—博弈论入门(一)

今天在网上逛得时候看到了这个问题,其实这个游戏很早就被发明了,但是直到20世纪初才被哈佛大学的一个叫做Charles Leonard Bouton的数学家找到最优解。可见还是有点难度的。这个游戏的关键在于使用异或运算。

下面是对这个游戏的理论解释http://blog.csdn.net/shawnn/archive/2009/03/22/4014664.aspx

有了上面这个理论基础,那编程就简单了。

下面是代码:

#include void main() { int a,b[100],i,c; scanf("%d",&a); for(i=0;i

相当简单吧。

如果要解“先手的人如果想赢,可以有几种选择”的话。只要稍微变一下就OK了

#include void main() { int a,b[100],i,c,d,h,j; scanf("%d",&a); for(i=0;i

你可能感兴趣的:(Nim游戏(又名取石子问题)—博弈论入门(一))