python漢諾塔遞歸函數是什么?
不管是哪種函數語言,漢諾塔一直都是常見的案例學習,大家可能從字面上不理解,實際上就是一種益智類游戲,比如有三個柱子,其中一個柱子上有大小不等的圓盤,需要讓我們圓盤的相互移動上,要保證上面圓盤小于下面,這套游戲規則就構成了漢諾塔,在python里經常被使用,下面來詳細了解學習下。
問題要求:
需要輸出移動圓盤的數量以及步驟
解析:
1、圓盤1號通過3號移動2號,公式為:hn(n-1,A,C,B)
2、圓盤2號通過1號移動3號,公式為:hn(n-1,B,A,C)
實現公式:
defhn(n,s_from,s_help,s_to):
ifn==1:
print(s_from,'-->',s_to)
else:
hn(n-1,s_from,s_to,s_help)
print(s_from,'-->',s_to)
hn(n-1,s_help,s_from,s_to)
n=int(input("盤子數:"))
hn(n,'A','B','C')
大家可以自行帶入數量到里面去計算下,當然除了漢諾塔游戲以外,我們可以還可以調用類似函數計算其他遞歸問題,希望可以幫助大家學習。更多Python學習教程請關注IT培訓機構:千鋒教育。