文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡(jiǎn)書
1. 遞歸
一個(gè)函數(shù)調(diào)用其自身,就是遞歸。
2. 漢諾塔
- 問(wèn)題描述
有一個(gè)梵塔,塔內(nèi)有三個(gè)座A、B、C,A座上有諾干個(gè)盤子,盤子大小不等,大的在下,小的在上。把這些個(gè)盤子從A座移到C座,中間可以借用B座但每次只能允許移動(dòng)一個(gè)盤子,并且在移動(dòng)過(guò)程中,3個(gè)座上的盤子始終保持大盤在下,小盤在上。

漢諾塔問(wèn)題
- 代碼
#include <iostream>
using namespace std;
void Hanoi(int n, char src, char mid, char dest) {
if(n == 1) {
cout<< src << "->" << dest <<endl;
return;
}
Hanoi(n - 1, src, dest, mid);
cout<< src << "->" << dest <<endl;
Hanoi(n - 1, mid, src, dest);
}
int main() {
int n;
cin >> n;
Hanoi(n, 'A', 'B', 'C');
return 0;
}
總結(jié):漢諾塔問(wèn)題是遞歸中的經(jīng)典問(wèn)題了。
源碼地址:漢諾塔,記得給個(gè)star。