# 汉诺塔问题
count = 0
# 参数 n:几个圆盘 src:起点柱子 dst:终点柱子 mid:中转柱子
# 返回值:几号圆盘:起点柱子->终点柱子
def hanoi(n,src,dst,mid): # 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)
转载于:https://my.oschina.net/zhangshsURL/blog/3008272