郝斌--数据结构---汉诺塔实现(c语言实现)
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语言实现)相关推荐
- 汉诺塔递归 C语言 代码简洁
#include<stdio.h> void hannuota(int n,char A,char B,char C) {if(1==n) printf("将编号为%d的盘子从% ...
- linux汉诺塔实验报告,数据结构-汉诺塔-实验报告
数据结构-汉诺塔-实验报告 所属分类:Windows编程 开发工具:Visual C++ 文件大小:17KB 下载次数:1 上传日期:2017-12-13 11:59:17 上 传 者:会飞的树叶 说 ...
- hanoi塔(汉诺塔)--C语言
hanoi塔(汉诺塔)–C语言 一.什么是hanoi塔 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具. 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄 ...
- 数据结构--汉诺塔--借助栈实现非递归---Java
1 /*汉诺塔非递归实现--利用栈 2 * 1.创建一个栈,栈中每个元素包含的信息:盘子编号,3个塔座的变量 3 * 2.先进栈,在利用循环判断是否栈空, 4 * 3.非空情况下,出栈,检查是否只有一 ...
- java汉诺塔递归算法_数据结构--汉诺塔递归Java实现
1 /*汉诺塔递归2 * 1.将编号0-N-1个圆盘,从A塔座移动到B上面3 * 2.将编号N的1个圆盘,从A移动到C上面4 * 3.最后将B上面的N-1个圆盘移动到C上面5 * 注意:盘子的编号从上 ...
- c语言递归汉诺塔次数,c语言递归解决汉诺塔参数变化的疑惑
c语言递归解决汉诺塔参数变化的疑惑 答案:3 信息版本:手机版 解决时间 2020-04-05 14:20 已解决 2020-04-05 10:49 #include void main() {vo ...
- 一句话解决汉诺塔(C语言递归)每日一练
看题目: 编写一个程序,对于一个有n个盘子的汉诺塔,列举将这n个盘子从柱子 A 移动到柱子 C 需要的所有移动步骤> 一句话时间: 规律是二的n次方减一,步骤思想是把除了最大的盘子的所有盘子借助 ...
- 【汉诺塔】C语言递归解法,深层次地带你理解汉诺塔公式
目录 汉诺塔公式 汉诺塔问题在数学层面的公式: C语言递归公式 两层汉诺塔 三层汉诺塔 递归问题可谓是学习C语言以来的第一个拦路虎,而汉诺塔问题更是递归中对新手很不友好的一道经典题,我们接下来从公式角 ...
- 汉诺塔(C语言实现)
目录 汉诺塔的游戏规则: 当A只有一个环的时候: 当A只有两个环的时候: 当A只有三个环的时候: 思路: 当n=1时: 当n=2时: 当n=3时: 当n=4时: 见代码 运行截图 汉诺塔的游戏规则: ...
最新文章
- 路由器运行python脚本_写个Python脚本来登录小米路由器
- Oracle RAC CSS 超时计算 及 参数 misscount, Disktimeout 说明
- Xshell连接Ubuntu报错 “服务器发送了一个意外的数据包”
- 面试题整理12 求字符串括号最大深度子串
- 关于hbase的read操作的深入研究 region到storefile过程
- springboot配置templates直接访问
- Wpf 调用线程无法访问此对象,因为另一个线程拥有该对象,解决方案
- JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象
- 栈溢出笔记1.10 基于SEH的栈溢出
- maven配置报错以及The JAVA_HOME environment variable is not defined correctly的解决方法
- php与mysqli,如何通过PHP与MySQLi保持联系
- 小米商城抢购脚本_小米十周年感恩季-816活动攻略
- java上传文件服务器_java 实现文件上传到另一台服务器
- 手绘小人多彩论文答辩PPT模板
- atoll C语言实现
- python selenium下载图片_python 登陆开心网图片批量下载-selenium实现
- java模板方法模式_Java设计模式之模板方法模式
- AR路由器通过web及代码实现公网用户使用公网地址访问内网服务器,同时内网用户实现通过公网地址访问内外那个服务器
- OpenShift 4 - 使用 Debezium 捕获变化数据,实现MySQL到PostgreSQL数据库同步(附视频)
- TSINGSEE青犀视频构建pion webrtc运行broadcast示例的步骤