请编写move(n, a, b, c)
函数,它接收参数n
,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法,例如:
#首先引入递归函数的思想,在汉诺塔大柱子必须在下规则的基础上,把整个过程看作是三个主要步骤(将n-1个环看作是一个整体):
#1 把n-1个环从A柱放在B柱子上: move(n-1, a, c, b)
#2 把最大的环从A柱放在C柱子上: move(1,a,b,c)
#3 把n-1个环再从B柱子上转移到C柱子上: move(n-1,b,a,c)
# -*- coding: utf-8 -*- def move(n, a, b, c):
if n == 1:
print(a,"-->",c)
else:
move(n-1, a, c, b)
move(1,a,b,c)
move(n-1,b,a,c)