漢諾塔問題是一個經典的遞歸問題。
問題描述:
有一個梵塔,塔內有三個座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)#字符要加引號