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

这是什么意思呢?为什么会有两次n-1

  move(n-1,a,c,b)

    print a,'-->',c

    move(n-1,b,a,c)


正在回答

3 回答

其实这个很好理解,if n==1那段代码就是move(1,A,B,C),后面的那个就跟把大象放进冰箱一样的道理分三步:1、把n-1个盘子借助C从A-->B即move(n-1,A,C,B);2、把剩下的那一个盘子从A-->C即move(1,A,B,C)或者直接print("A-->C");3、把刚才移到B上的那n-1个盘子借助A移到C上即move(n-1,B,A,C)

希望对你有所帮助!哈哈……


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

首先要知道递归在这道题里用在了什么地方http://img1.sycdn.imooc.com//5aa6174000011ec527361824.jpg

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

把A中的圆盘放入C中,思路是先拿出n-1个放到B盘中,把A中底盘放进C中。(所以有了第一次的N-1);

之后要把B中的N-1个圆盘放进C中,所以有了第二个N-1

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

举报

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

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

进入课程

这是什么意思呢?为什么会有两次n-1

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信