第乙個比較困擾的問題漢諾塔遞迴問題

2022-08-23 17:09:08 字數 377 閱讀 7115

剛開始很懵逼,對於其中的邏輯理解不了,不知道需要做什麼,在了解了,具體漢諾塔問題以後結合解釋終於搞明白了,

#!/usr/bin/python

# -*- coding: utf-8 -*-

def move(x,y,z,n):

if n==1:

print(x,'-->',z)

else:

move(x,z,y,n-1)

print(x,'-->',z)

move(y,x,z,n-1)

n=input('please enter your n:')

m=int(n)

move('a','b','c',m)

詢問大神的結果:

參考教程:

漢諾塔問題的遞迴解法

漢諾塔問題的遞迴解法 實現程式 include using namespace std void move int n,char i,char j void hanoi int n,char x,char y,char z int main 執行結果 以下是3層漢諾塔的解法 把1號從x移動到z 把2...

漢諾塔問題的遞迴演算法

漢諾塔是根據乙個傳說形成的乙個問題。漢諾塔 又稱河內塔 問題是源於印度乙個古老傳說的益智玩具。大梵天 創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片 圓盤。大梵天命令婆羅門 把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,在小圓盤上不能放大圓盤,在三根柱子之...

求解漢諾塔的遞迴問題

先上 void towersofhanoi int n,int x,int y,int z 這裡也分基礎部分和遞迴部分,但是這裡的基礎部分並不明顯,這裡的基礎部分就是當x上的碟數為1時,if裡面的第一和第三句 直接退出,只有第二句 會執行。這裡的第二句 就是基礎部分,然後老規矩迭代部分我們只需要考慮...