汉诺塔移动
从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘,现要求将A柱子上的圆盘移到C柱子上去,
期间只有一个原则:一次只能移到一个盘子且大盘子不能在小盘子上面,求移动的步骤和移动的次数
n=1 A-C 1次
n=2 A-B 3次
A-C
B-C
n=3 A-C 7次
A-B
C-B
A-C
B-A
B-C
A-C
def move(A,C):
print(A,'--->',C)
def hanoi(n,A,B,C):
if n==1:
move(A,C)
else:
hanoi(n-1,A,C,B)
move(A,C)
hanoi(n-1,B,A,C)
hanoi(3,'A','B','C')
A ---> C
A ---> B
C ---> B
A ---> C
B ---> A
B ---> C
A ---> C