從漢諾塔遊戲理解python遞迴函式

longmanma發表於2021-09-09

漢諾塔遊戲規則:

有三根相鄰的柱子,標號為A,B,C,A柱子上從下到上按金字塔狀疊放著n個不同大小的圓盤,現在把所有盤子一個一個移動到柱子B上,並且每次移動同一根柱子上都不能出現大盤子在小盤子上方

圖片描述

圖片描述

圖片描述
圖片描述
圖片描述
圖片採用知乎的郭風林

def move(n,begin,buffer,to):
    if n==1:
        print('Move',n,'Begin',begin,'to',to)
    else:
        move(n-1,begin,to,buffer)
        #講n-1個圓盤從a搬到b ,第一步
        move(1,begin,buffer,to)
        #講最大的圓盤從a搬到c,,第二步
        move(n-1,buffer,begin,to)
        #j講搬到b的n-1個盤子搬到c,第三步

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2730/viewspace-2800799/,如需轉載,請註明出處,否則將追究法律責任。

相關文章