现有3根柱子A,B,C,将A的所有盘子,用汉诺塔的移动方式借助B柱子移动到C柱子.
def hannuo(n,a,b,c,):
if n==1:
step=1
print(a,'--->',c)
return step
else:
x1=hannuo(n-1,a,c,b) #将n-1快从A移动到B
x2=hannuo(1,a,b,c) #将1块移从A动到C
x3=hannuo(n-1,b,a,c) #将n-1块从B移动到C
step=x1+x2+x3
return step
s=hannuo(4,'A','B','C')
print('需要 %d 步骤完成'%s)
网友评论