实验报告
_计算机科学与技术__(系) 班级 _ ___ 学号 _ _ 姓名 _ _
实验日期 _ _年_ 月_ 日 指导老师
实验名称 实验 1:汉诺塔问题
实验目的 编写算法程序解决上述问题,输出基本操作的执行次数
实验步骤(实验内容、写出代码和运行结果)
1:汉诺塔问题
相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一
块铜板装置上,有三根杆(编号 A、B、C),在 A 杆自下而上、由大到小按顺序放
置 64 个金盘。游戏的目标:把 A 杆上的金盘全部移到 C 杆上,并仍保持原有顺
序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终
保持大盘在下,小盘在上,操作过程中盘子可以置于 A、B、C 任一杆上。
代码:
#include<iostream>
#include<stdio.h>
using namespace std;
int count;
void move(int n,char a,char b,char c){
count++;
if (n == 1){
cout<<a<<"->"<<c<<endl;
}
else{
move(n - 1,a,c,b);
cout<<a<<"->"<<c<<endl;
move(n-1,b,a,c);
}
}
int main(){