汉诺塔
来源:互联网 发布:js trimend用法 编辑:程序博客网 时间:2024/05/17 02:15
这里写代码片
汉诺塔的递归实现算法,将A中的圆盘借助B圆盘完全移动到C圆盘上,
每次只能移动一个圆盘,并且每次移动时大盘不能放在小盘上面
递归函数的伪算法为如下:
if(n==1)
直接将A柱子上的圆盘从A移动到C
else
先将A柱子上的n-1个圆盘借助C柱子移动到B柱子上
直接将A柱子上的第n个圆盘移动到C柱子上
最后将B柱子上的n-1个圆盘借助A柱子移动到C柱子上
#include<stdio.h> void move(int,char,char,char); int main() { //A、B、C分别代表三个柱子 char ch1 = 'A'; char ch2 = 'B'; char ch3 = 'C'; //n代表圆盘的个数 int n; printf("请输入圆盘个数:"); scanf("%d",&n); move(n,ch1,ch2,ch3); return 0; } //将n个圆盘从x柱子借助y柱子移动到z柱子上 void move(int n,char x,char y,char z) { if(n == 1) printf("圆盘编号%d:从%c移动到%c\n",n,x,z); else { move(n-1,x,z,y); printf("圆盘编号%d:从%c移动到%c\n",n,x,z); move(n-1,y,x,z); } }
阅读全文
0 0
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 最短路径:Floyd算法
- mysql修改密码
- Chapter 15 PL/Python 语言扩展
- art-template和jquey.tablesorter的混合使用
- 搭建一个简单的Spring MVC框架
- 汉诺塔
- github托管项目
- 计算机科学与技术专业的大学学习内容
- Java多线程---CountDownLatch用法实例
- Flume1.7.0(CDH1.6.0版本)新功能SpoolingDir日志采集
- mysql主从复制
- 如何有效控制数据中心制冷系统成本
- CS229课程笔记13:Factor Analysis简介
- Git的使用--如何将本地项目上传到Github