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

soda211的博客看到的,还是看不懂

move(3, "a", "b", "c")
n=3:    //开始从a上移动n-1即2个盘子通过c移动到b,以腾出c供a最后一个盘子移动
    move(2, "a","c","b")
    n=2:    //开始进行n=2的一个递归,把当前a('a')柱上的n-1个盘子通过c('b')移动到b('c')
        move(1, "a", "b", "c")
        n=1:        //n=2的第一个递归完成,打印结果,执行当前子函数剩余代码
            print("a", "->", "c") 
        move(1, "a", "c", "b")
        n=1:            print("a", "->", "b")        move(1, "c", "a", "b")
        n=1:            print("c", "->", "b")
        //到这里完成了a柱上面的n-1即是2个盘子的移动//开始把a柱上最后一个盘子移动到c柱上move(1, "a", "b", "c")
n=1:    print("a", "->", "c")    //到这里完成移动a柱上的最后一个盘子到c柱上 move(2, "b", "a", "c")
n=2://开始进行n=2的第二个递归,即把当前b('b')的盘子(n-1个)通过a('a')移动到c('c')上
    move(1, "b", "c", "a")
    n=1:    //n=2 的第二个递归完成,打印结果并执行当前子函数的剩余代码
        print("b", "->", "a")    move(1, "b", "a", "c")
    n=1:        print("b", "->", "c")    move(1, "a", "b", "c")
    n=1:        print("a", "->", "c")        //到这里把b上的盘子通过a移动到c,//整个代码执行完毕,汉诺塔移动完成


正在回答

1 回答

三个n=1是怎么来的?

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

举报

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

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

进入课程

soda211的博客看到的,还是看不懂

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