漢諾塔問題的python實現

漢諾塔問題是一個經典的遞歸問題。

問題描述:

  有一個梵塔,塔內有三個座A、B、C,A座上有諾幹個盤子,盤子大小不等,大的在下,小的在上(如圖)。把這些個盤子從A座移到C座,中間可以借用B座但每次只能允許移動一個盤子,並且在移動過程中,3個座上的盤子始終保持大盤在下,小盤在上。


問題簡化:把A柱子上的n個盤子移動到C柱子上,其中可以藉助B柱。

'''
hanoi漢諾塔問題
'''
def hanoi(a,b,c,n):
    if n==1:
        print a,'->',c
    else:
        hanoi(a,c,b,n-1)
        print a,'->', c
        hanoi(b,a,c,n-1)

hanoi('a','b','c',3)#字符要加引號



發佈了28 篇原創文章 · 獲贊 11 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章