汉诺塔递归
#include<iostream>using namespace std;
void hanoi(int n, char x, char y, char z);
int main()
{
int n;
cout << "Please input the number of plates: ";
cin >> n;
hanoi(n, 'A', 'B', 'C');
return 0;
}
void hanoi(int n, char x, char y, char z)
{
if (n>0) { // 想问下为什么一定要有这个条件? 如果删掉if语句的话,即使我输入的是n>0,没有提示error, 但是程序运行不了。
hanoi(n - 1, x, z, y);
cout << "Move " << n << ":" << x << "->" << z << endl;
hanoi(n - 1, y, x, z);
}
}