汉诺塔游戏
思想
汉诺塔游戏主要是有三个柱子A:原柱子、C:目标柱子、B:过度柱子;将在A柱子的圆盘的前n-1个放到过度柱子中,将最后一个放到目标柱子中,依次类推,知道最后一个放到目标柱子中
Python代码
count = 0
def hanoi(n, src, dst, mid):
'''
:param n: 圆盘个数
:param src: 原柱子
:param dst: 目的柱子
:param 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