将A的圆盘借助中间的B圆盘转移到C圆盘上:
count = 0
def hanoi(n, src, dst, mid):
global count
if n == 1:
print("{}:{}-->{}".format(1, src, dst))
count+=1
else:
hanoi(n-1, src, mid, dst)
print("{}:{}-->{}".format(n, src, dst))
count+=1
hanoi(n-1, mid, dst, src)
hanoi(3, "A", "C", "B")
print(count)
输出:
1:A-->C
2:A-->B
1:C-->B
3:A-->C
1:B-->A
2:B-->C
1:A-->C
7