/*
Name: 汉诺塔
Copyright: tarena
Author: 王钟沛
Date: 07-11-06 19:12
Description: 是原来写的。直接复制了一下,还是没用数组写出来T_T
*/
#include <iostream>
using namespace std;
void move (int ,int=1 ,int=2 ,int=3 );//初始柱子编号
int main ()
{
int number;
cout << "请输入第一个塔上有多少个盘子(初始值): ";
cin >> number;
move (number);
system("PAUSE");
return 0;
}
void move (int n,int fst,int sec,int thr)
{
if(n!=0)
{
move( n-1,fst,thr,sec); //反复颠倒交换用柱子
cout << "移动"<<n<<"号盘从 " <<fst<< "号塔到 " <<thr<< "号塔"<<endl; //输出移动方向
move( n-1,sec,fst,thr); //反复交换柱子
}
else
return;
}