漢諾塔作業與內在邏輯的思考

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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章