# -*- coding: utf-8 -*-
def move(n, a, b, c):
if n == 1:
print(a, '-->', c) #a只剩一个时直接移动到c
else:
move(n-1,a,c,b) #要先把上面的(n-1)个挪到b上,故把b作为原来的c
print(a, '-->', c) #然后把最下面的挪到c,问题规模变为(n-1)
move(n-1,b,a,c) #再把b上的(n-1)个挪到c上,故把b作为原来的a
# 期待输出:
# A --> C
# A --> B
# C --> B
# A --> C
# B --> A
# B --> C
# A --> C
move(3, 'A', 'B', 'C')
Macyrate