游大观园 戏九连环(谜中智@Mathematica)

作  者:吴  飞

 


引言:

 

谁知此时黛玉不在自己的房中,却在宝玉房中大家解九连环顽呢。 --- 曹雪芹,《红楼梦》,第七回

 


游戏简介:

 

九连环 (Chinese Ring Puzzle) 是中国古老民间玩具,以金属丝制成九个圆环,将圆环套装横式框架上,并贯以环柄。

游玩时,按照一定的规律操作,使九环解开或合而为一为胜。

 

 

 


游戏规则:

九连环的每个环互相制约,仅有两种基本的操作可能的。(假设九连环按照如图所示的位置摆放,其手柄在左侧。)
1. 只有最右侧的环可以在任何时候被上下改变位置。
2. 移动其他环时当且仅当,第它右侧邻近的环在架上,且邻近环右侧的环都不在架上。
如果用二进制来表示九连环的状态,则以 1 代表环在柄上,以 0 代表环已下柄。

 

 


演示代码:

本演示基于格雷码,提供了程序解决九连环的方法和答案(当为9环时,解答为341步)。

 

初始化:创建九连环三维模型

初始化:基于格雷码的九连环求解器,并根据环数设定的最大步数。

操控程序 :九连环解题演示

 

 

 

下载链接: http://demonstrations.wolfram.com/TheChineseRingsPuzzle/

 


参考文献:

 

[1]  F. Wu,"The Chinese Ring Puzzle", Wolfram Demonstrations Project.

[2]  E. Weisstein, "Baguenaudier", "Gray Code", Wolfram Mathworld.

[3]  D. E. Knuth, "Gray Code", The Art of Computer Programming, Vol. 4, Addison-Wesley, 2001, pp.5-6.

[4]  吴鹤龄,七巧板、九连环和华容道,科学出版社 2004,pp.143-186.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值