函数递归——汉诺塔经典题型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数递归——汉诺塔经典题型相关的知识,希望对你有一定的参考价值。
理解汉诺塔游戏规则,有A,B,C座塔,将A塔上的圆盘移动到C塔上,当A塔只有一块圆盘时,直接移动到C塔,当A塔有N个圆盘时,需要将N-1个圆盘移动到B塔,然后将剩下的最底下圆盘移动到C。大盘不能压住小盘
汉诺塔游戏主要考虑到最底下圆盘的调用,每次的移动都假设到最底下圆盘。
其实到目前我还是不太明白
def move(n, x, y, z): if n==1: print (x,‘-->‘,z) return move(n-1,x,z,y)#将前n-1个盘子从x移动到y上 move(1,x,y,z)#将最底下的最后一个盘子从x移动到z上 move(n-1,y,x,z)#将y上的n-1个盘子移动到z上 move(10, ‘A‘, ‘B‘, ‘C‘)
以上是关于函数递归——汉诺塔经典题型的主要内容,如果未能解决你的问题,请参考以下文章
Python入门之经典函数实例——第1关:递归函数 - 汉诺塔的魅力
Python入门之经典函数实例——第1关:递归函数 - 汉诺塔的魅力
Python基础——递归及其经典例题(阶乘斐波那契数列汉诺塔)