python 遞歸 實現漢諾塔拆解方法 源碼

提高python中遞歸深度

python中默認遞歸深度是100層 想要提高遞歸深度:
import sys
sys.setrecursionlimit(1000000)

漢諾塔

就是有三個針
| | |
x y z
針上面有圓盤 放在x上面 我們的目的就是將x上的圓盤放到z上面。

實現代碼:

def hanoi(n,x,y,z):
if n == 1:
print(x, ‘- - >’, z)
else:
hanoi(n-1,x,z,y) #將前n-1個盤子從x移動到y
print(x,’- - >’,z)#將最底下的最後一個盤子從x移動到z上
hanoi(n-1,y,x,z)#將y上的n-1個盤子移動到z上

n = int(input(‘請輸入漢諾塔的層數:’))
hanoi(n,‘x’,‘y’,‘z’)

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