汉诺塔 c++

有ABC三个座,将A上的n个盘子移动到C上,要保证大的盘子始终在下面,而且一次只能移动一个盘子,可以借助B,输出移动步骤。

#include<iostream>
using namespace std;
void Hanoi(int n,char a,char b,char c)
{
 if(n==1)
  cout<<a<<"-->"<<c<<endl;
 else {
  Hanoi(n-1,a,c,b);
  cout<<a<<"-->"<<c<<endl;
  Hanoi(n-1,b,a,c);
 }
}
int main()
{
 int num;
 cin>>num;
 Hanoi(num,'A','B','C');
 return 0;
}

原文地址:https://www.cnblogs.com/lanzhiyuan/p/5574774.html