python学习笔记:递归函数
提问:汉诺塔的移动:
请编写move(n, a, b, c)函数,它接收参数n,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法
回答:
思路:目标:将A柱上的所有盘子移到C柱上,借用B柱
限制:大盘子永远在小盘子下面
当只有一个盘子时,就直接将盘子移动到C柱上B上(借用B柱),将最后一个大盘子移到C上
最后将n-1个盘子移到C上
def move(n,a,b,c):
if n==1:
print(’%s–>%s’%(a,c))
else:
move(n-1,a,c,b)
print(’%s–>%s’%(a,c))
move(n-1,b,a,c)
python学习笔记:递归函数
最新推荐文章于 2022-05-07 14:52:13 发布