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

新思路请大家指点

def move(n,a,b,c): 
    if n==1: 
        print(a,'-->',c) 
        return 
    print(a,'-->',b) 
    move(n-1,a,b,c) 
    print(b,'-->',c)

这样做如何

正在回答

6 回答

前提是汉诺塔,这个就是规则

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

Mr_Sandman113 提问者

非常感谢!
2016-10-17 回复 有任何疑惑可以回复我~

这题目没规定只能小盘放大盘上面吗?  

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

比如你代码n=3 时 ,前两次转移为,A->B,A->B,这肯定是不对的

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

Mr_Sandman113 提问者

假如A有3个盘,先将A的最顶端的移到B上,再将A的第二个盘移到B上,最后将A的底盘移到C上,将B上的所有盘移到C。顺序也没错
2016-10-13 回复 有任何疑惑可以回复我~

你自己根据实际情况推一下就知道了

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

Mr_Sandman113 提问者

测试过,没有问题。不知道你觉得哪出问题了
2016-10-13 回复 有任何疑惑可以回复我~

求验证,为什么不对

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

只有n=1,2时是对的,n>=3时就不对了

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

Mr_Sandman113 提问者

求验证,为什么不对
2016-10-13 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

新思路请大家指点

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

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

帮助反馈 APP下载

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

公众号

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