九连环中的数学
本帖最后由 聚元号 于 2015-9-26 12:27 编辑九连环中的数学本来答应各位网友在半个月前发表的,但开学后学业繁忙,没抽时间做。我向你们道歉。 数列:victory: 没错,推导过程中运用了递归法。 本帖最后由 hubo5563 于 2015-9-27 18:13 编辑
九连环实际上是格雷码计数器
假定环在杠上为1,在杠下为0,每个九连环状态对应一个二进制数,实际上是对应一个格雷码数。
解九连环的过程,就是格雷码计数过程,全部上环过程相当格雷码加一计数过程,全部下环过程相当格雷码减一计数过程。
任意一个状态,先将环状态写下,就是格雷码,然后把它转换为二进制,再转换为十进制数,就是上环需要的次数。
例如 111111111 全部上在杠上,换为二进制数是:101010101,再化成十进制就是:1+4+16+64+256=341
所以,九连环全部上到杠上需要341次操作。
例如 100000000 就是最后为1,其它为0,转换为二进制数就是:111111111 再化为十进制数为 511
所以,九连环最后一个在杠上其它环在杠下的状态,需要511次操作。
任意一个状态,都能计算出它的序号。
例如:011000101 转为二进制数是010000110 化成十进制为:2+4+128=134 就是说这个状态需要134次操作。
其实和汉诺塔游戏的原理很接近,具体的游戏规则可以百度一下,与之有关的还有汉诺塔的传说。:lol
话说我第一次解九连环时是联想到汉诺塔游戏而破解的~~~:victory: 至尊达哥 发表于 2015-9-27 18:39 static/image/common/back.gif
其实和汉诺塔游戏的原理很接近,具体的游戏规则可以百度一下,与之有关的还有汉诺塔的传说。
话说我第 ...
你这个破解过程,反过来,也成立。:lol hubo5563 发表于 2015-9-27 17:33 static/image/common/back.gif
九连环实际上是格雷码计数器
假定环在杠上为1,在杠下为0,每个九连环状态对应一个二进制数,实际上 ...
胡老师一语中的!格雷码与自然二进制的转换也非常简单,如此只要看到九连环的任意一个状态,就能很方便计算出最少解出步数。妙!