电脑桌面
添加蜗牛文库到电脑桌面
安装后可以在桌面快捷访问

Mathematica程序 汉诺塔游戏的解法演示.docVIP免费

Mathematica程序 汉诺塔游戏的解法演示.doc_第1页
Mathematica程序 汉诺塔游戏的解法演示.doc_第2页
Mathematica程序 汉诺塔游戏的解法演示.doc_第3页
Mathematica程序汉诺塔游戏的解法演示汉诺塔游戏是一个很久远的故事了,相传只要将64个大小不等的圆环从第一个的竖立的杆上取下来,套在另一个竖立的杆上游戏就完成了,当然还有一个竖立的杆作为中介用来暂存一些圆环。规则很简单:每次取下1个圆环,始终保持小的圆环在大的圆环上方,取下来的圆环接着必须套在3个杆中的一个杆上面。我以前用Flash做了一个可以演示也可以实际操作的游戏。最近有了用Mathematica程序重新做的想法,昨天完成了演示部分。但是实际操作就有些棘手了,或许以后会做的,现在不会了。尽管曾经学习过C语言中递归语句的写法,但是还是不喜欢程序中用到它,因为有人提出的“让1转圈圈,其它的比大小”好像更能体现出该游戏的解答过程。在我做的两个不同版本的Flash动画中体现的很明显,如果先用递归语句写出所有步骤然后再移动圆环,那么停顿只在递归出结果的那一瞬间,但是如果我让圆环数为64时,根本无法出结果,总是显示程序太大,无法完成。但是如果用“让1转圈圈,其它的比大小”的办法来做,无论是圆环数是多少都不影响运行速度的。在我下面的Mathematica程序中无法体现出它的优越性,但是如果改成用Print来输出每步的图片的话,差别还是很明显的。所有程序如下:(*一.输入变量区域*)(*输入圆环总数:如果总数在11以内还是可以很快出结果的*)zongshu=11;(*从位置1移动到位置2则输入1->2,从位置1移动到位置3则输入1->3*)weizhi="1->3";(*二.计算结果区域*)(*下面这三行是赋初值*)a=Table[ii,{ii,zongshu,1,-1}];arr1={a,{},{}};arr2={arr1};(*下面这两个二级嵌套的If语句用来判断最小圆环的移动方向*)If[weizhi=="1->3"||weizhi=="1→3",mowei=3;If[Mod[zongshu,2]==0,fangx=1,fangx=-1];];If[weizhi=="1->2"||weizhi=="1→2",mowei=2;If[Mod[zongshu,2]==1,fangx=1,fangx=-1];];For[ii=1;jj=1,ii<2^(zongshu-1)+1,ii++,kk=arr1[[jj]][[-1]];arr1[[jj]]=Delete[arr1[[jj]],-1];jj=Mod[jj+fangx+2,3]+1;arr1[[jj]]=Append[arr1[[jj]],kk];arr2=Append[arr2,arr1];(*下面这两个If语句用来判断移动是否已经完成*)If[mowei==2&&arr1[[1]]=={}&&arr1[[3]]=={},Break[];];If[mowei==3&&arr1[[1]]=={}&&arr1[[2]]=={},Break[];];(*下面这一个三级嵌套的If语句判断除了最小圆环以外的圆环的移动方向*)If[arr1[[Mod[jj+1,3]+1]]=={},xuanze=1,If[arr1[[Mod[jj,3]+1]]=={},xuanze=2,If[arr1[[Mod[jj,3]+1]][[-1]]

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

蜗牛文库的最新文档

二年级数学下册其中检测卷二年级数学下册其中检测卷附答案#期中测试卷.pdf
10.00金币
0下载
二年级数学下册期末质检卷(苏教版)二年级数学下册期末质检卷(苏教版)#期末复习 #期末测试卷 #二年级数学 #二年级数学下册#关注我持续更新小学知识.pdf
10.00金币
0下载
二年级数学下册期末混合运算专项练习二年级数学下册期末混合运算专项练习#二年级#二年级数学下册#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
10.00金币
1下载
二年级数学下册年月日三类周期问题解题方法二年级数学下册年月日三类周期问题解题方法#二年级#二年级数学下册#知识分享 #关注我持续更新小学知识 #家长收藏孩子受益.pdf
10.00金币
0下载
二年级数学下册解决问题专项训练二年级数学下册解决问题专项训练#专项训练#解决问题#二年级#二年级数学下册#知识分享.pdf
10.00金币
1下载
二年级数学下册还原问题二年级数学下册还原问题#二年级#二年级数学#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
10.00金币
1下载
二年级数学下册第六单元考试卷家长打印出来给孩子测试测试争取拿到高分!#小学二年级试卷分享 #二年级第六单考试数学 #第六单考试#二年级数学下册.pdf
10.00金币
0下载
二年级数学下册必背顺口溜口诀汇总二年级数学下册必背顺口溜口诀汇总#二年级#二年级数学下册 #知识分享 #家长收藏孩子受益 #关注我持续更新小学知识.pdf
10.00金币
0下载
二年级数学下册《重点难点思维题》两大问题解决技巧和方法巧算星期几解决周期问题还原问题强化思维训练老师精心整理家长可以打印出来给孩子练习#家长收藏孩子受益 #学霸秘籍 #思维训练 #二年级 #知识点总结.pdf
10.00金币
0下载
二年级数学下册 必背公式大全寒假提前背一背开学更轻松#二年级 #二年级数学 #二年级数学下册 #寒假充电计划 #公式.pdf
10.00金币
0下载
蜗牛文库+ 关注
实名认证
内容提供者

提供各种专业文档内容

确认删除?
QQ
  • QQ点击这里给我发消息
微信客服
  • 微信客服