/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院
* All rightsreserved.
* 作 者:董万鹏
* 完成日期:2012年11月21日
* 版 本 号: v1.0
* 输入描述:无
* 问题描述: 先将n-1个盘子通过c,移动到b,剩下一个移到c,再将剩余的n-2个通过a,移动到c...
* 程序输出:
* 问题分析:
*/
#include <iostream>
using namespace std;
void f(char m,char n)
{
cout<<m<<"--->"<<n<<endl;
}
void move(int n,char A,char B,char C)
{
if(n==1)
f(A,C);
else
{
move(n-1,A,C,B);
f(A,C);
move(n-1,B,A,C);
}
}
int main()
{
int num;
cout<<"请输入盘子的个数:";
cin>>num;
move(num,'A','B','C');
return 0;
}
玩一玩汉诺塔。
最新推荐文章于 2022-11-10 18:51:23 发布