C++汉诺塔问题
来源:互联网 发布:windows安全性登录 编辑:程序博客网 时间:2024/06/16 10:47
汉诺塔的图解递归算法
#include<bits/stdc++.h>
using namespace std;
int i=1;
void move(int n,char from,char to)//将编号为n的盘子由from移动到to
{printf("第%d步:将编号为第%d的盘子从%c--->%c\n",i++,n,from,to);
}
void hanoi(int n,char from,char denpend_on,char to) //将n个盘子由初始塔移动到目标塔(利用借用塔)
{
if (n==1) //只有一个盘子是直接将初塔上的盘子移动到目的地
move(1,from,to);
else
{
hanoi(n-1,from,to,denpend_on); //先将初始塔的前n-1个盘子借助目的塔移动到借用塔上
move(n,from,to); //将剩下的一个盘子移动到目的塔上
hanoi(n-1,denpend_on,from,to);//最后将借用塔上的n-1个盘子移动到目的塔上
}
}
int main()
{
cout<<"请输入盘子的个数:"<<endl;
int n;
cin>>n;
char x='A',y='B',z='C';
cout<<"盘子移动情况如下"<<endl;
hanoi(n,x,y,z);
return 0;
}
0 0
- C++Practise12:汉诺塔问题
- c语言汉诺塔问题
- 算法:汉诺塔问题(c++)
- C++:汉诺塔问题
- c语言经典问题:汉诺塔 Hanoi问题
- c语言解决汉诺塔问题
- c语言 解决汉诺塔问题
- 汉诺塔问题(C实现)
- C++/python解决汉诺塔问题
- C问题
- c问题
- c问题
- c问题
- C问题
- C++/C 颜色问题
- C++/C const问题
- 问题 C: 背包问题
- C趣味编程之汉诺塔问题
- Triangles HUST 1607 (map<pair,int>,几何)
- 基于 @Transactional 的声明式事务管理
- kickstart安装配置
- Spring: @Transactional中的propagation属性
- 图——广度优先遍历(邻接矩阵存储)
- C++汉诺塔问题
- win7运行第一个opencv程序,基于opencv3.2,官方vc14编译版本,QT5.8 VS2015平台
- bootstrap switch 使用笔记
- Freedom Trail
- Android NDK开发之C调用Java及原生代码断点调试(二)
- 获取客户端IP方案
- PyQt简单的计算器实例讲解
- 2017 5 8每周总结
- HTML5 & AngularJS学习