小学教育网 发表于 2016-8-13 13:04:31

格雷码与九连环


          
          [*]
       
12
                               
          了解更多的数学故事和相关知识,有助于增加孩子学习的积极性和主动性,在无形中培养孩子的兴趣,快来跟着奥数君一起来了解更多的数学文化吧!
          分析解九连环的完全记法,由于每次只动一个环,故两步的表示也只有一个数字不同。下面以五个环为例分析。左边起第一列的五位数是5个环的状态,依次由第一环到第五环。第二列是把这个表示反转次序的五位数,似乎是二进制数,但是与第四列比较就可以看出这不是步数的二进制数表示。
       
          第三列是从初始状态到这个状态所用的步数。最右边一列才是步数的二进制表示。
       
          00000-00000-0-00000
       
          10000-00001-1-00001
       
          11000-00011-2-00010
       
          01000-00010-3-00011
       
          01100-00110-4-00100
       
          11100-00111-5-00101
       
          10100-00101-6-00110
       
          00100-00100-7-00111
       
          00110-01100-8-01000
       
          10110-01101-9-01001
       
          11110-01111-10-01010
       
          01110-01110-11-01011
       
          01010-01010-12-01100
       
          11010-01011-13-01101
       
          10010-01001-14-01110
       
          00010-01000-15-01111
       
          00011-11000-16-10000
       
          10011-11001-17-10001
       
          11011-11011-18-10010
       
          01011-11010-19-10011
       
          01111-11110-20-10100
       
          11111-11111-21-10101

jzthree 发表于 2016-8-13 14:42:08


       
          
          [*]
       
12
                               
          我们发现,右边一列数恰好是十进制数0到21的二进制数的格雷码!这当然需要21步。如果把5位二进制数依次写完,就是
       
          10111-11101-22-10110
       
          00111-11100-23-10111
       
          00101-10100-24-11000
       
          10101-10101-25-11001
       
          11101-10111-26-11010
       
          01101-10110-27-11011
       
          01001-10010-28-11100
       
          11001-10011-29-11101
       
          10001-10001-30-11110
       
          00001-10000-31-11111
       
          这说明,对于只有5个环的五连环,从初始到状态11111用的不是并不是最多,到状态00001才是最多,用31步。类似,对于九连环,从初始到状态111111111用的不是并不是最多,到状态000000001才是最多,用511步。由于格雷码111111111表示二进制数101010101,表示十进制数341,故从初始状态到9个环全部上去用341步。这就是九连环中蕴涵的数学内涵。
       
          注由二进制数转换为格雷码:从右到左检查,如果某一数字左边是0,该数字不变;如果是1,该数字改变(0变为1,1变为0)。例,二进制数11011的格雷码是10110.
       
          由格雷码表示变为二进制数:从右到左检查,如果某一数字的左边数字和是偶数,该数字不变;如果是奇数,该数字改变。
       
          例格雷码11011表示为二进制数是10010.
       
          以上可以用口诀帮助记忆:2G一改零不改,G2奇变偶不变。
       
          例设九连环的初始状态是110100110,要求终止状态是001001111,简单解法与完整解法各需要多少步?过程如何?
       
          解初始状态110100110,格雷码是011001011,转换为二进制数是010001101,相应十进制数是141.终止状态是001001111,格雷码是111100100,转换为二进制数是101000111,相应十进制数是327.二者差326-141=186,完整解法需要186步。
       
          简单解法步数,我们由141,327分别求相应的简单步数,
       
          对于N=141,得到N0=103;对于N=327,N0=242.二者差139,故简单步数139.这个结果很容易在下一页九连环电脑游戏上验证。
页: [1]
查看完整版本: 格雷码与九连环