智商吧 关注:203,458贴子:1,885,447

回复:抓枚游戏(Nim游戏,尼姆游戏)的扩展版,有兴趣吗?

只看楼主收藏回复

按楼主说的3,5,6,7,我拿成3,5,6,6,现在该你拿,怎么拿?


IP属地:福建来自Android客户端27楼2017-01-10 17:27
回复
    复27楼@银儿yy
    因故耽搁了一天,请原谅。
    您如果拿成3,5,6,6,
    我下一步可以
    2
    4
    6
    6
    即可。
    2,4,6,6正好就已经符合您上面23楼提的策略了。


    IP属地:陕西本楼含有高级字体28楼2017-01-10 20:36
    收起回复
      如果按目前的几种规律来看确实如上面楼层所说:三堆数字符合K1的条件,第四堆是前三堆和的一半。不知对不对?但是无规律的四堆数字是先拿赢还是后拿赢?怎么控制对方?有待探讨


      IP属地:福建来自Android客户端29楼2017-01-10 20:56
      回复
        如果我的猜想是对的,那么本题是先拿的赢,剩1,4,5,5


        IP属地:福建来自Android客户端30楼2017-01-10 21:06
        收起回复
          复27楼@论三国计 兄:
          (5,9,12,13)和(3,8,11,11)都对。
          我想了一下:
          在4堆的情况下,可以证明,凡是符合您说的这个规律的,必然也符合我设想的算法。
          不过,
          但是反过来,却存在不符合您说的规则而符合我设想的规则的例子。
          例如:7,11,13,14。
          但是,这种反过来的例子,只在较大的数据时候才有。顶楼所给的初始条件下不会有。


          IP属地:陕西31楼2017-01-10 21:26
          收起回复
            写成2进制,每一位都有K+1的倍数个1。。。吗


            IP属地:江苏来自Android客户端32楼2017-01-11 07:34
            收起回复
              我想了一晚上,找到破解k2的方法了。楼主出个题最好难点,让我来解


              IP属地:福建来自Android客户端33楼2017-01-11 08:40
              收起回复
                32楼的说结果是对的(只是措辞过于简略,不清楚的人或许看不明白意思)。
                知道这个条件,并按照这个条件去抓,不难。关键是要证明其可行性。即证明以下三个命题:
                一、如果现状已经满足这个条件,那么无论下步怎么抓,抓后必然就不满足这个条件了。
                二、如果现状不满足这个条件,那么下步总存在一种抓法,可使抓后满足这个条件。
                三、得胜结局(全空)也满足这个条件。
                其中三是显然的(因为零是任何数的倍数)。
                另两条证明篇幅有点长,等有时间把它写出来。


                IP属地:陕西34楼2017-01-13 17:21
                回复
                  制作一个二进制表,表里的每列之和都可以被 k + 1 整除。拿成这样的就获胜了


                  IP属地:广东来自Android客户端35楼2017-01-13 18:22
                  回复
                    一句话终结掉楼主的游戏


                    IP属地:广东来自Android客户端36楼2017-01-13 18:24
                    回复
                      如果楼主让我拿一个笔和纸进行简单计算,哥表示毫无压力,对手是神也没用


                      IP属地:广东来自Android客户端37楼2017-01-13 18:25
                      回复
                        没办法,哥就是这么屌


                        IP属地:广东来自Android客户端38楼2017-01-13 18:25
                        回复
                          (续34楼,并复@论三国计 兄)
                          【因故耽搁了较长时间,请原谅】
                          前面32楼@itfrombit 兄和35楼@liyanan778 兄所说的算法是对的。
                          下面继续34楼的叙述,详细说一下我的想法。
                          声明一下:我的这些想法是去年或前年受到了《智商》吧中发言(可惜没记下发言者的ID)的提示以后,才逐渐想出来的,所以关于下面的叙述,希望能收到本吧吧友中高手的指教。
                          【一】先介绍几个术语、符号(采用这几个术语及符号仅仅是为了下文叙述方便,不保证和别人的用语一致,因为尚不了解别人的资料)及预备知识:
                          ◆“P进制的免进位加法”(用符号㈩表示)
                          一个数写成P进制的形式后,按常规的笔算加法,应该是对应位相加,满P就向上一位进1。而这种“免进位加”和普通的加法不同处就是把进位丢掉,不给上一位加1。
                          以P=3(即三进制)为例。例如:
                          十进制的17和5,如果写成三进制,就是122(表示9+3*2+2)和12(表示3+2)
                          3进制普通加法,它们相加结果是三进制211
                          而3进制免进位加法,它们相㈩结果是三进制101。
                          不难证明,这种㈩运算和普通加法一样,满足交换律、结合律,且㈩0等于不㈩。
                          ◆“P进制的免借位减法”(用符号㈠表示)
                          “P进制的免进位加法”㈩的逆运算,称作“P进制的免借位减法”㈠。和普通的减法不同处就是需要借位时“免费”借,不从上一位减1。
                          不难证明:
                          相等的数相㈠为零,即x ㈠ x = 0;
                          不同的数相㈠非零,即如果x≠y,则必然x ㈠ y ≠ 0。
                          如果P=2,那么“二进制的免进位加法”和“二进制的免借位减法”都等同于Windows所带的计算器上的XOR运算。
                          (待续)


                          IP属地:陕西40楼2017-01-22 23:02
                          回复
                            (续)
                            P进制免进位免借位意义上的“负数”(也用符号㈠表示)
                            如果a ㈩ b = 0,则称b是a的“负数”(这里加引号表示不是我们普通意义上的“负”),记作b = ㈠a。
                            例如三进制的102和201,就互为这种三进制免进位免借位意义上的“负数”:102=㈠201以及201=㈠102(均为三进制)。
                            显然,很容易证明:
                            ㈠(㈠x)= x;
                            x ㈩(㈠y)= x ㈠ y;
                            ㈠0 = 0;
                            如果x ≠ 0,则㈠x ≠ 0;
                            等等。
                            如果P=2(为二进制),则这种“负数”和原数相等。
                            P进制免进位免借位意义上的连续“加减”运算
                            根据上面列出的容易证明的那些关系,再考虑上述的㈩运算的交换律、结合律,可知:
                            在P进制免进位免借位意义上的连续“加减”运算中,允许采用和普通的加减法一样规则的次序调整。
                            这些,将在下面的有关证明过程中使用。
                            某数的“P进制影子数”
                            如果一个数y的P进制形式,和某数x的二进制形式相同,就称y是x的“P进制影子数”。
                            例如:
                            6的“三进制影子数”是12;
                            这是因为6的二进制形式是110,而12的三进制形式也是110(表示9+3+0)。
                            11的“三进制影子数”是31;
                            这是因为11的二进制形式是1011,而31的三进制形式也是1011(表示27+0+3+1)。
                            显然,原数和它的影子数之间,大于、等于、小于的次序关系不变。即相等数的影子数也相等,较大数的影子数也较大,等等。这个性质称作“保序性”。
                            显然,如果一个数的P进制形式中出现了0和1以外的数字,那么它不可能是另一个数的“P进制影子数”
                            “关键条件”、“关键状态”
                            也就是有的朋友说的“必败局”,或有的朋友说的“必胜局”,这里所谓的胜、败,是从上家、下家不同的立场上说的。即:上家只要能抓成符合这种条件的布局就必胜(如果此后不犯错误的话),下家只要遇到符合这种条件的布局就必败(如果此后对方不犯错误的话)。
                            我们把这种条件叫做“关键条件”,符合这种条件的状态叫做“关键状态”。
                            要证明某个条件是“关键条件”,需要证明以下三条。
                            一、如果现状已经满足这个条件,那么无论下步怎么抓,抓后必然就不满足这个条件了。
                            二、如果现状不满足这个条件,那么下步总存在一种抓法,可使抓后满足这个条件。
                            三、得胜结局(全空)也满足这个条件。
                            下面所列出的本游戏的关键条件,显然已经满足第三条,故只需要证明一、二。
                            预备知识就这些,下面书归正传。
                            (待续)


                            IP属地:陕西本楼含有高级字体41楼2017-01-22 23:07
                            回复
                              (续)
                              预备知识就这些,下面书归正传。
                              【二】本游戏的关键条件
                              设P=K+1,则本游戏的关键条件是:
                              各堆中枚数的“P进制影子数”采用“P进制的免进位加法”的相㈩总和等于零。
                              具体到顶楼的例子,K=2,故P=3。关键条件就是:
                              各堆中枚数的“三进制影子数”采用“三进制的免进位加法”的相㈩总和等于零。
                              我们知道“相㈩”时,每一位都是“逢P进一”并将所进的1丢掉,所以只要1的个数是P的倍数,相㈩后该位就变成零了。
                              因此,这个条件,和32楼@itfrombit 兄和35楼@liyanan778 兄所说的条件是一致的。
                              这里之所以没有直接采用32楼和35楼的措辞,而采用上面的术语,主要是为了便于下面的证明。
                              下面的叙述中,设:
                              现状:各堆的枚数为x1、x2、……xn,
                              他们相应的P进制影子数为y1、y2、……yn。
                              抓过以后:各堆的枚数为x1'、x2'、……xn',
                              他们相应的P进制影子数为y1'、y2'、……yn'。
                              (待续)


                              IP属地:陕西42楼2017-01-22 23:15
                              回复