/*
*Copyright (c) 2014, 烟台大学计算机学院
*All rights reserved.
*文件名称:week12-project3-6.cpp
*作者:高赞
*完成日期:2014年 11 月 14 日
*版本号:v1.0
*
*问题描述:汉诺塔盘数为4时,输出其移动方法
*/
#include <iostream>
using namespace std;
void move (int n, char A, char B,char C);
int main()
{
move(4,'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);//用递归每次把n-1个盘子从A经过C放到B
cout << A << "→" << C << endl;//然后把A的第n个盘子放到C上
move (n-1,B,A,C);//再把每次那n-1个盘子由B经A放到最终C上
}
}
运算结果:
总结新的:
看了两天总算看出明白了。。。