Hanoi规则不在赘述;直接上代码;
#include<iostream>
using namespace std;
//移动最后一个
void Move(char a, char b)
{
cout<<a<<"-->"<<b<<endl;
}
//a借助c放到b n个
void Hanoi(int n,char a,char b,char c)
{
if(n<=0)//控制参数正确传入
{
return;
}
if(n>0)
{
Hanoi(n-1, a,c,b);//a借助b放到c柱子n-1个
Move(a,b);//把最后一个移到b
Hanoi(n-1,c,b,a);//把c上的借助a放到b
}
}
int main()
{
Hanoi(3,'a','b','c');
return 0;
}