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

汉诺塔问题

为什么偶数次能实现,奇数次实现不了

正在回答

1 回答

def hanoi(n,x,y,z):

    global i

    if n == 1:

        print(x,'--->',z)

        i += 1

    else:

        hanoi(n-1,x,z,y)  #将前n-1个盘子从x移动到y上

        print(x,'--->',z)#将最低下的最后一个盘子从x移动到z上

        i +=1

        hanoi(n-1,y,x,z)  #将y上的n-1个盘子移动到z上

    return i


while True:

    number = int(input('请输入汉诺塔层数:'))

    i = 0

    i=hanoi(number,'x','y','z')

    print('总共最少移动多少次:',i)


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

qq_小天_24

大神,没看懂
2018-06-18 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

汉诺塔问题

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