/*
*程序的版权和版本声明部分:
*Copyright(c)2013,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:张立锋
*完成日期:2013年11月17日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述:
*问题描述:使用函数输出银行问题
*程序输出:
*问题分析:
*算法设计:
*/
#include <iostream>
using namespace std;
void move(int n, char a, char b)
{
cout<<a<<"->"<<b<<endl;
}
void hanoi(int n, char a, char b, char c)
{//把n个盘子从a柱子移动到b柱子
if(n > 0) {
hanoi(n - 1, a, c, b);// 把n-1个盘子移动到c柱子上
move(n, a, b); // 把a移动到b
hanoi(n - 1, c, b, a); // 把第n-1个盘子从c柱子移动到b柱子上
}
}
int main()
{
int n;
while(cin>>n){
char a='A',b='B',c='C';
hanoi(n,a,c,b); //把n个盘子从a柱子移动到c柱子
}
return 0;
}
运行结果