汉诺塔问题,有空再研究
来源:互联网 发布:域名a记录查询 编辑:程序博客网 时间:2024/05/16 09:29
#include <stdio.h>void Hanoi(int n, char a, char b, char c);void Move(int n, char a, char b);int main(){ int n; printf("Input the number of disks:"); scanf("%d", &n); printf("Steps of moving %d disks from A to B by means of C:\n", n); Hanoi(n, 'A', 'B', 'C'); /*调用递归函数Hanoi()将n个圆盘借助于C由A移动到B*/ return 0;}/* 函数功能:用递归方法将n个圆盘借助于柱子c从源柱子a移动到目标柱子b上 */void Hanoi(int n, char a, char b, char c){ if (n == 1) { Move(n, a, b); /* 将第n个圆盘由a移到b */ } else { Hanoi(n - 1, a, c, b); /* 递归调用Hanoi(),将第n-1个圆盘借助于b由a移动到c*/ Move(n, a, b); /* 第n个圆盘由a移到b */ Hanoi(n - 1, c, b, a); /*递归调用Hanoi(),将第n-1个圆盘借助于a由c移动到b*/ }}/* 函数功能: 将第n个圆盘从源柱子a移到目标柱子b上 */void Move(int n, char a, char b){ printf("Move %d: from %c to %c\n", n, a, b);}/*void move(int n, char a, char b, char c);int main(){ int n; printf("请输入要移动的块数:"); scanf("%d", &n); printf("Steps of moving %d disks from A to B by means of C:\n", n); move(n,'A','C','B'); return 0;}void move(int n, char a, char b, char c){ if(n == 1) { printf("Move 1:"); printf("from %c to %c\n", a, c); //当n只有1个的时候直接从A移动到C } else { move(n-1, a, c, b); //第n-1个要从A通过C移动到B printf("from %c to %c\n", a, c); move(n-1, b, a, c); //n-1个移动过来之后B变开始盘,b通过A移动到C,这边很难理解 }}*/
0 0
- 汉诺塔问题,有空再研究
- 魔术师纸牌,有空再研究
- 有空 要研究GWT
- 有空研究下kobject
- ASP在线压缩和解压(先放上来,有空再研究加注释吧!)
- 无意中发现一个js网站,先记录下来,有空再研究
- 有空要仔细研究的知识
- 解决了Cocoapods Undefined symbols for architecture _OBJC_CLASS_xxxx的问题,辛苦死我了,记录下之后有空在研究
- 有空
- 一个不错的java缓存实现,有空好好研究下
- 有空待研究的几篇不错的surfaceflinger文章
- 关于equals有空指针异常的问题
- 【实习日记】未整理,有空再整理
- 有点小问题,说有空给我看一下吧
- 分为人力【我有空热【可以热投入问题
- mysql group by 涉及到的字段有空数据问题
- 原来我错了,警醒自己,有空认真研究下面网站的文章
- java中静态块,静态属性,方法的加载顺序(网友反映有问题,请仔细验证,不想误人子弟,有空再改改)
- 常用的编程算法
- Codeforce 450B Jzzhu and Sequences
- 专访网易视频云郭再荣:立足技术服务,深耕场景化应用
- ThinkPHP框架配置
- C++ 模板详解
- 汉诺塔问题,有空再研究
- [Usaco08Jan] Cow Contest
- KNN(K-最近邻法) —matlab 和 python 学习记录
- Android学习6
- <poj-1936>All in All
- 回溯算法解题总结
- CSS入门系列(一)概述&和html结合的方式
- 堆和栈的区别
- 1061. Dating (20)