/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:刘畅
* 完成日期:2014 年 11 月 16 日
* 版 本 号:v1.0
*
* 问题描述:汉诺塔小游戏,详情请见度娘;
* 输入描述: 输入盘子数;
* 程序输出: 输出汉诺塔小游戏成功完成的步骤。
*/
#include <iostream>
using namespace std;
void move(int ,char ,char ,char);
int main()
{
int n;
cin>>n;
move(n,'A','B','C');
return 0;
}
void move(int n,char A,char B,char C)
{
if(n==1)
cout<<A<<"-->"<<C<<endl;
else
{
move(n-1,A,C,B);
cout<<A<<"-->"<<C<<endl;
move(n-1,B,A,C);
}
}
运行结果:
学习心得:
这个我自己还没搞懂,上百度搜过,也看了大神们的博客,可惜还是看不懂,为了将博客任务优先完成,就先发了。明天自习的时候再用云学堂上学到的递归写法一步一步的写下来,希望能弄懂吧。