提高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’)