为了账号安全,请及时绑定邮箱和手机立即绑定

当move()中n=3时,为什么结果不一样?3和4有什么区别

当move()中n=3时,

A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C虽然n=3但是n-1=2,应该也是先:A-->B,A-->C,B-->C.

3和4有什么区别吗???

正在回答

2 回答

你这两个结果其实是一样的,区别在于你的盘子原来在哪个塔上,要移动到哪个塔上。第一个结果表示你借助B把A上的两个盘子移动到C上,第二个结果是你借助C把A上的两个盘子移动到B上。这个要递归的函数参数顺序不同输出也就不同,但实际上并没有区别啊,你把你初始输入参数顺序调一下就对了。

0 回复 有任何疑惑可以回复我~

这个题目讲的不是很清楚,n = 3 和n = 4 当然是不一样的,汉诺伊塔要求在移动过程中,要一直保持小盘子始终落在大盘子的上方。每次只能移动一个盘子,最初的状态是n个盘子上面小下面大依次放在a上的。不知道你疑惑的点是不是这个。如果还不懂,可以问我。

0 回复 有任何疑惑可以回复我~
#1

七安_ 提问者

3个应该也是先:A-->B,A-->C,B-->C.但是结果是:A --> C,A --> B,C --> B,不应该也是先A-->B的吗?
2016-08-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758354    人
  • 解答问题       8967    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

当move()中n=3时,为什么结果不一样?3和4有什么区别

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号