赞
踩
借助递归解决汉诺塔问题非常方便:
解决汉诺塔根据盘子的个数可将分为两种
一、当盘子(n)=1时,我们直接从A移动到B;
二、当盘子(n)>=2时,我们分为三步:
①将A最上边的小的先移动到B
②再将A上最大的盘子移动到C
③然后将B上的盘子移动到C
当盘子(n)=3时,我们也将问题分为三步:
①将(n-1)个盘子从A上借助C移动到B上
②再将A上的最大的盘子移动到C上
③最后再将(n-1)个盘子从B借助A移动到B上
所以我们将函数定义为:
def hannuota(n,a,b,c
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。