码迷,mamicode.com
首页 > 其他好文 > 详细

函数递归——汉诺塔经典题型

时间:2017-04-18 11:07:44      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:turn   递归   调用   return   span   log   blog   汉诺塔   需要   

理解汉诺塔游戏规则,有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)

 

函数递归——汉诺塔经典题型

标签:turn   递归   调用   return   span   log   blog   汉诺塔   需要   

原文地址:http://www.cnblogs.com/lzh1118/p/6726718.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!