#总的来说就是递归,
#将假如有n层,共三根柱子,分别是X,Y,Z 第一步将上面n-1层给移动到Y柱子上,
#然后将上的第n个也就是最大的那层移动到Z上,
#最后将Y上的n-1移动到Z上
def hanoi(n,x,y,z):
if n == 1:
print(x,'-->',z)
else:
hanoi(n-1,x,z,y)#将n-1个盘子从x移动到y
print(x,'-->',z)#将最底下的最后一个盘子从x移动到z
hanoi(n-1,y,x,z)#将y上的n-1个盘子移动到z
n = int(input('请输入汉诺塔的层数'))
hanoi(n,'X','Y','Z')