问题就不多重复了,直接上分析。
(把X上的63个盘子借助Z移到Y上)拆解为:
1、将前62个盘子从X移动到Z上
2、将最底下的第63个盘子移动到Y上
3、将Z上的62个盘子移动到Y上
重复上述步骤
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) #将最底下的那个盘子移动到z上
#将y上的n-1个盘子移动到z上
hanoi(n-1,y,x,z)
n = int(input("please hanoi number:"))
hanoi(n,"X","Y","Z")