1 #include <stdio.h>
 2
 3 void hannuota(int n,char A,char B,char C)//表示A借助于B移到C
 4 {
 5     /*
 6         如果是1个盘子
 7             直接将柱子上的盘子从A移到C
 8         否则
 9             先将A柱子上的n-1个盘子从C移到B
10             直接将A柱子上的盘子从A移到C
11             最后将B柱子上的n-1个盘子借助A移到C
12     */
13     if(1 == n)
14     {
15         printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
16     }
17     else
18     {
19         hannuota(n-1, A, C, B);
20         printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
21         hannuota(n-1, B, A, C);
22     }
23 }
24
25 int main(void)
26 {
27     char ch1 = 'A';
28     char ch2 = 'B';
29     char ch3 = 'C';
30     int n;
31
32     printf("请输入要移动的个数: ");
33     scanf("%d", &n);
34
35     hannuota(n,'A','B','C');
36
37     return 0;
38 }

运行示例

转载于:https://www.cnblogs.com/huangtao1996/p/4954373.html

郝斌--数据结构---汉诺塔实现(c语言实现)相关推荐

  1. 汉诺塔递归 C语言 代码简洁

    #include<stdio.h> void hannuota(int n,char A,char B,char C) {if(1==n) printf("将编号为%d的盘子从% ...

  2. linux汉诺塔实验报告,数据结构-汉诺塔-实验报告

    数据结构-汉诺塔-实验报告 所属分类:Windows编程 开发工具:Visual C++ 文件大小:17KB 下载次数:1 上传日期:2017-12-13 11:59:17 上 传 者:会飞的树叶 说 ...

  3. hanoi塔(汉诺塔)--C语言

    hanoi塔(汉诺塔)–C语言 一.什么是hanoi塔 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具. 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄 ...

  4. 数据结构--汉诺塔--借助栈实现非递归---Java

    1 /*汉诺塔非递归实现--利用栈 2 * 1.创建一个栈,栈中每个元素包含的信息:盘子编号,3个塔座的变量 3 * 2.先进栈,在利用循环判断是否栈空, 4 * 3.非空情况下,出栈,检查是否只有一 ...

  5. java汉诺塔递归算法_数据结构--汉诺塔递归Java实现

    1 /*汉诺塔递归2 * 1.将编号0-N-1个圆盘,从A塔座移动到B上面3 * 2.将编号N的1个圆盘,从A移动到C上面4 * 3.最后将B上面的N-1个圆盘移动到C上面5 * 注意:盘子的编号从上 ...

  6. c语言递归汉诺塔次数,c语言递归解决汉诺塔参数变化的疑惑

    c语言递归解决汉诺塔参数变化的疑惑 答案:3  信息版本:手机版 解决时间 2020-04-05 14:20 已解决 2020-04-05 10:49 #include void main() {vo ...

  7. 一句话解决汉诺塔(C语言递归)每日一练

    看题目: 编写一个程序,对于一个有n个盘子的汉诺塔,列举将这n个盘子从柱子 A 移动到柱子 C 需要的所有移动步骤> 一句话时间: 规律是二的n次方减一,步骤思想是把除了最大的盘子的所有盘子借助 ...

  8. 【汉诺塔】C语言递归解法,深层次地带你理解汉诺塔公式

    目录 汉诺塔公式 汉诺塔问题在数学层面的公式: C语言递归公式 两层汉诺塔 三层汉诺塔 递归问题可谓是学习C语言以来的第一个拦路虎,而汉诺塔问题更是递归中对新手很不友好的一道经典题,我们接下来从公式角 ...

  9. 汉诺塔(C语言实现)

    目录 汉诺塔的游戏规则: 当A只有一个环的时候: 当A只有两个环的时候: 当A只有三个环的时候: 思路: 当n=1时: 当n=2时: 当n=3时: 当n=4时: 见代码 运行截图 汉诺塔的游戏规则: ...

最新文章

  1. 路由器运行python脚本_写个Python脚本来登录小米路由器
  2. Oracle RAC CSS 超时计算 及 参数 misscount, Disktimeout 说明
  3. Xshell连接Ubuntu报错 “服务器发送了一个意外的数据包”
  4. 面试题整理12 求字符串括号最大深度子串
  5. 关于hbase的read操作的深入研究 region到storefile过程
  6. springboot配置templates直接访问
  7. Wpf 调用线程无法访问此对象,因为另一个线程拥有该对象,解决方案
  8. JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象
  9. 栈溢出笔记1.10 基于SEH的栈溢出
  10. maven配置报错以及The JAVA_HOME environment variable is not defined correctly的解决方法
  11. php与mysqli,如何通过PHP与MySQLi保持联系
  12. 小米商城抢购脚本_小米十周年感恩季-816活动攻略
  13. java上传文件服务器_java 实现文件上传到另一台服务器
  14. 手绘小人多彩论文答辩PPT模板
  15. atoll C语言实现
  16. python selenium下载图片_python 登陆开心网图片批量下载-selenium实现
  17. java模板方法模式_Java设计模式之模板方法模式
  18. AR路由器通过web及代码实现公网用户使用公网地址访问内网服务器,同时内网用户实现通过公网地址访问内外那个服务器
  19. OpenShift 4 - 使用 Debezium 捕获变化数据,实现MySQL到PostgreSQL数据库同步(附视频)
  20. TSINGSEE青犀视频构建pion webrtc运行broadcast示例的步骤

热门文章

  1. Struts2 表单和非表单标签
  2. Vue学习(组件传参)-学习笔记
  3. 定位导致物化视图无法快速刷新的原因
  4. SQL实战篇:SQL行列转换及真题
  5. 深入理解Spark 2.1 Core (八):Standalone模式容错及HA的原理与源码分析
  6. java的守护线程与非守护线程
  7. 一致性哈希算法学习及JAVA代码实现分析
  8. JSTracker:前端异常数据采集
  9. 一次CMS GC问题排查过程(理解原理+读懂GC日志)
  10. Firefly支持AI引擎Tengine,性能提升,轻松搭建AI计算框架