这个问题大家都比较熟悉。这里直接给出程序清单。
//2-6 Hanoi问题
#include "stdafx.h"
#include <iostream>
using namespace std;
void hanoi(int n,char a,char b,char c);
int main()
{
char a = 'A',b = 'B',c='C';
hanoi(3,a,b,c);
return 0;
}
//借助c,将n个盘子从a移到b
void hanoi(int n,char a,char b,char c)
{
if(n>0)
{
hanoi(n-1,a,c,b);//借助b,将n-1个盘子从a移到c
cout<<"将"<<a<<"中最大的盘子从"<<a<<"移到"<<b<<endl;
hanoi(n-1,c,b,a);//借助a,将n-1个盘子从c移到b
}
}