/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院
* All rightsreserved.
* 文件名称:fibnacci.cpp
* 作 者:孙永
* 完成日期:2012年11月21日
* 版 本 号: v1.0
* 输入描述:无
* 问题描述: 汉诺塔;
* 程序输出:
* 问题分析:
*/
#include <iostream>
using namespace std;
void move(int n,char A,char B,char C);
int main()
{
int n;
cout<<"请输入盘子数:";
cin>>n;
move(n,'A','B','C');
return 0;
}
void move(int n,char A,char B,char C )
{
if(n==1)
{
cout<<A<<"-->"<<B<<endl;
}
else{
move(n-1,A,C,B);
cout<<A<<"-->"<<C<<endl;
move(n-1,B,A,C);
}
}
运行结果:
心得体会:
本文介绍了一个经典的递归问题——汉诺塔,并通过C++代码实现了解决方案。该程序能够根据用户输入的盘子数量,输出移动步骤。
1070

被折叠的 条评论
为什么被折叠?



