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

def move(n, a, b, c):

    if n ==1:

        print a, '-->', c

        return

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

    print a, '-->', c

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

move(4, 'A', 'B', 'C')

 看不懂啊 谁能给“详细”的解释一下啊

正在回答

2 回答

看我画的执行图

http://img1.sycdn.imooc.com//5e269e340001e9a811281792.jpg

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

第一步:找出特殊情况,如果n==1,那么,直接就从a到c

第二步:如果没有特殊情况,假设有n个圆盘,那么我们为了把这n个圆盘从a挪到c,就需要首先把第一个圆盘到倒数第二个圆盘挪到b上(保证从上到下的圆盘是由小到大),然后在把a上的最后一个圆盘挪到c上。

第三步:是把b上的n-1个圆盘借助a挪到c上。

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

举报

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

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

进入课程
意见反馈 帮助中心 APP下载
官方微信