- 最后登录
- 2025-2-17
- 在线时间
- 3862 小时
- 阅读权限
- 20
- 注册时间
- 2005-12-22
- 积分
- 9356
- 帖子
- 3676
- 精华
- 81
- UID
- 4618
- 性别
- 男
![Rank: 8](static/image/common/star_level3.gif) ![Rank: 8](static/image/common/star_level3.gif)
- 积分
- 9356
- 帖子
- 3676
- 精华
- 81
- UID
- 4618
- 性别
- 男
|
本帖最后由 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次操作。
|
|