您的位置:首页 > 编程语言 > C语言/C++

C语言经典算法(十)——递归实现汉诺塔

2018-01-10 20:06 423 查看
后继续整理算法并写出自己的理解和备注。 C++实现的:递归实现汉诺塔

1、 递归实现汉诺塔

<1> 题目描述:输入n值,实现n个盘子的汉诺塔移动,小盘子在上

<2> 方法:递归法

源码:

一、 递归实现汉诺塔

#include<iostream>
#include<assert.h>
using namespace std;
void Move(int n, char A, char B, char C)//三个柱子ABC
{
if(n == 1)//结束条件
{
cout<<A<<"-->"<<C<<endl;
}
else
{
Move(n-1,A,C,B);
cout<<A<<"-->"<<C<<endl;
Move(n-1,B,A,C);
}
}
void main()
{
int n;
cout<<"请输入圆盘的个数n:>";
cin>>n;
Move(n,'A','B','C');
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法