汉诺塔作业与内在逻辑的思考

def hano(n,a,b,c):
if n==1:
print(a,“挪移到”,c)
return None

if n==2:
    print(a,"挪移到",b)
    print(a,"挪移到",c)
    print(b,"挪移到",c)
    return None
#n代表了挪移的柱子数,第二个参数为起始点,第三个参数为借助的平台,第四个参数为目的地
#因此,内在逻辑为:先借助第三个品台执行n-1次汉诺函数将n-1根铁棒挪到第二个上面(此时b为目的地)
#把最后一根放到目标位置、即第三个平台c,然后问题转化为n-1阶汉诺塔的问题
#即起始位置为b,借助平台为a,目的地为c
hano(n-1,a,c,b)
print(a,"挪移到",c)
hano(n-1,b,a,c)

a=“第一根柱子”
b=“第二根柱子”
c=“第三根柱子”
n=5
hano(n,a,b,c)

猜你喜欢

转载自blog.csdn.net/kupao2018/article/details/83858358