您的位置首页生活百科

棋子游戏

棋子游戏

第一个拿的只剩2个棋子就好,必胜.到你面前只剩两堆时 1、如果摆在你面前的两堆数量相等,必败; 2、如果两堆数量不等,取数量多的一堆,使两堆数量相等,然后,对方取几粒,你就取几粒,始终维持两堆数量相等,必胜。 当剩下三堆时,开始影响结果。 1、如果其中两堆数量相等,直接把第三堆取完。 2、如果任意两堆数量都不相等,进入消耗战,双方都维持这种平衡,直到其中一堆被取完,或者出现了两堆数量相等---这只发生在1,1,n情况下。 在其余两堆数量不等的情况下,谁取完这一堆,谁必败。先取必胜1*1=2 一直到最后!每次都剩一粒,到最后一堆时一次取完. 定胜这是一个很经典的数字游戏,我国的著迅核名的数学家曾给出3,5,7的解法。在 http://219.150.204.172/slq32z/Soft_Show.asp?SoftID=135 有我编的一个游戏,在帮助中有详细的方法说明,希望对你有所帮助。 把每一堆的棋子数用二进制写出来; 第1堆:...a2a1ao, 第2堆:...b2b1bo, ...... 第n堆:...m2m1mo, 若ao,bo,...,mo 中有偶数个1,a1,b1,...,m1中有偶肢缓数个1,...每一位中都是有偶数个1的状态称为胜态。 胜态任意取子后一定都不是胜态,不是胜态一定有一种取子方法使取子后成为胜态,所以只要你始终使取子后留下的状态是胜态,就一定可以取胜。 举个具体例子,有3堆棋子,各有3颗,5颗,7颗。 3 =11,5=101,7=111,个位有3个1,不是胜态,先取者必可取胜。 (3,5,7)→(3,5,6),3=11,5=101,6=110,个位上2个1,十位上2个1,百位上2个1,是胜态。 对方(3,5,6)→(2,5,6),2=10,5=101,6=110,个位1个1,不是胜态,你可取成(2,4,6),是胜态。 对方(3,5,6)→(1,5,6),1=1,5=101,6=110,十位1个1,不是胜态,你可取成(1,5,4),是胜态。 对方(3,5,6)→(0,5,6),0=0,5=101,6=110,个位1个1,不是胜态,你可取成(0,5,5),是胜态。 对方(3,5,6)→历昌模(3,4,6),3=11,4=100,6=110,个位1个1,不是胜态,你可取成(2,4,6),是胜态。 对方(3,5,6)→(3,3,6),3=11,3=11,6=110,十位1个1,不是胜态,你可取成(3,3,0),是胜态。 反正只要你先取就一定会赢.把每一堆的棋子数用二进制写出来; 第1堆:...a2a1ao, 第2堆:...b2b1bo, ...... 第n堆:...m2m1mo, 若ao,bo,...,mo 中有偶数个1,a1,b1,...,m1中有偶数个1,...每一位中都是有偶数个1的状态称为胜态。 胜态任意取子后一定都不是胜态,不是胜态一定有一种取子方法使取子后成为胜态,所以只要你始终使取子后留下的状态是胜态,就一定可以取胜。 举个具体例子,有3堆棋子,各有3颗,5颗,7颗。 3 =11,5=101,7=111,个位有3个1,不是胜态,先取者必可取胜。 (3,5,7)→(3,5,6),3=11,5=101,6=110,个位上2个1,十位上2个1,百位上2个1,是胜态。 对方(3,5,6)→(2,5,6),2=10,5=101,6=110,个位1个1,不是胜态,你可取成(2,4,6),是胜态。 对方(3,5,6)→(1,5,6),1=1,5=101,6=110,十位1个1,不是胜态,你可取成(1,5,4),是胜态。 对方(3,5,6)→(0,5,6),0=0,5=101,6=110,个位1个1,不是胜态,你可取成(0,5,5),是胜态。 对方(3,5,6)→(3,4,6),3=11,4=100,6=110,个位1个1,不是胜态,你可取成(2,4,6),是胜态。 对方(3,5,6)→(3,3,6),3=11,3=11,6=110,十位1个1,不是胜态,你可取成(3,3,0),是胜态。 15个棋子,分成任意三堆,每人每次只能取其中的一堆中的任意个,也可以一次把其中一堆取完,轮流取,一人一次,谁取到最后一个谁算输! 按照此种规则来说先手必胜 只要把先手必输的情形全部列出来,这样轮到自己拿的时候留给对手先手必输的情形就能保证自己必胜。 先手必输的情形 1 x x (x>1) 1 1 1 1 2 3 1 4 5 1 6 7 ... 2 4 6 2 5 7 ... 3 4 7 3 5 6 ... 以上是15个棋子可能出现的所有先手必输形 而剩下没列出来的都是先手必胜形 随便举个例子 3 5 7 这是先手必胜形 我先 我把它化为 3 4 7 必输形 对手不管怎么拿都是输 假设拿成 3 4 6 我把它化为 2 4 6 必输形 对手不管怎么拿都是输 假设拿成 4 6 我把它化为 4 4 必输形 对手不管怎么拿都是输 假设拿成 2 4 我把它化为 2 2 必输形 对手不管怎么拿都是输 假设拿成 2 1 我把它化为 1 这个游戏没有什么简单的公式可以套,唯一的方法就是借助必输形表 大于15个棋子的情形同样也是列出先手必输形表,按照表来拿就可以了。 我先给出部分先手输形表 1 2 3 1 4 5 1 6 7 1 8 9 1 10 11 ... 2 4 6 2 5 7 2 8 10 2 9 11 2 12 14 2 13 15 ... 3 4 7 3 5 6 3 8 11 3 9 10 3 12 15 ... 4 8 12 4 9 13 4 10 14 4 11 15 ... 5 8 13 5 9 12 5 10 15 5 11 14 ... 6 8 14 6 9 15 6 10 12 6 11 13 ...到你面前只剩两堆时 1、如果摆在你面前的两堆数量相等,必败; 2、如果两堆数量不等,取数量多的一堆,使两堆数量相等,然后,对方取几粒,你就取几粒,始终维持两堆数量相等,必胜。 当剩下三堆时,开始影响结果。 1、如果其中两堆数量相等,直接把第三堆取完。 2、如果任意两堆数量都不相等,进入消耗战,双方都维持这种平衡,直到其中一堆被取完,或者出现了两堆数量相等---这只发生在1,1,n情况下。 在其余两堆数量不等的情况下,谁取完这一堆,谁必败。