溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

漢諾塔問題的遞歸解法

發(fā)布時間:2020-04-30 21:26:40 來源:網絡 閱讀:653 作者:巖梟 欄目:編程語言

漢諾塔問題的遞歸解法

漢諾塔問題的遞歸解法:

實現(xiàn)程序:

#include<iostream>

using namespace std;


void move(int n, char i, char j)

{

cout << "把" << n << "號從" << i << "移動到" << j << endl;

}


void hanoi(int n, char x, char y, char z)

{

if (n == 1)

{

move(1, x,z);

}

else

{

hanoi(n - 1, x, z, y);

move(n, x, z);

hanoi(n - 1, y, x, z);

}

}


int main()

{

cout << "以下是3層漢諾塔的解法:" << endl;

hanoi(3, 'x', 'y', 'z');

cout << "輸出結果完畢!" << endl;

system("pause");

return 0;

}

運行結果:

以下是3層漢諾塔的解法:

把1號從x移動到z

把2號從x移動到y(tǒng)

把1號從z移動到y(tǒng)

把3號從x移動到z

把1號從y移動到x

把2號從y移動到z

把1號從x移動到z

輸出結果完畢!

請按任意鍵繼續(xù). . .


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI