汉诺塔

汉诺塔
/*
 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;
                                                                                                           
}

你可能感兴趣的:(汉诺塔)