PTA汉诺(Hanoi)塔问题
古代某寺庙中有一个梵塔,塔内有3个座A、B和C,座A上放着64个大小不等的盘,其中大盘在下,小盘在上。有一个和尚想把这64 个盘从座A搬到座B,但一次只能搬一个盘,搬动的盘只允许放在其他两个座上,且大盘不能压在小盘上。现要求用程序模拟该过程,输入一个正整数n,代表盘子的个数,编写函数

void hanoi(int n,char a,char b,char c)

其中,n为盘子个数,从a座到b座,c座作为中间过渡,该函数的功能是输出搬盘子的路径。

输入格式:
输入在一行中给出1个正整数n。

输入样例:

3

输出样例:

a-->b
a-->c
b-->c
a-->b
c-->a
c-->b
a-->b

我的代码:

#include<stdio.h>
#include<stdlib.h>void hanoi(int n, char a, char b, char c);int main()
{int n = 0;scanf("%d", &n);hanoi(n,'a','b','c');return 0;
}
void hanoi(int n, char a , char b, char c)
{  if(n == 1){printf("%c-->%c\n", a, b);}else{hanoi(n-1, a, c, b);printf("%c-->%c\n", a, b);hanoi(n-1, c, b, a);}
}

PTA汉诺(Hanoi)塔问题相关推荐

  1. PTA 汉诺塔的非递归实现

    PTA 汉诺塔的非递归实现 7-11 汉诺塔的非递归实现 (25分) 借助堆栈以非递归(循环)方式求解汉诺塔的问题(n, a, b, c),即将N个盘子从起始柱(标记为"a")通过 ...

  2. 汉诺塔+汉诺四塔(C/C++)

    目录 汉诺塔 1  简介 2  代码思路 2.1  对于次数的理解 2.2  对于移动的理解 3  代码 4  加深理解 汉诺四塔 1  思路 2  代码 汉诺塔 1  简介 汉诺塔(Tower of ...

  3. 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-933 汉诺四塔

    第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-933 汉诺四塔 目录 第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-933 汉诺四塔 前言 关于数学的疑问 算法训练 汉诺四塔 ...

  4. hanoi塔递归算法c语言,递归算法 Hanoi(汉诺)塔问题

    Hanoi(汉诺)塔问题.这是一个古典的数学问题,是一个用递归方法解题的典型例子.问题是这样的:古代有一个梵塔,塔内有3 个座A.B.C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上.有 ...

  5. 汉诺4塔 (递归算法)

    题目描述 "汉诺塔",是一个众所周知的古老游戏.现在我们把问题稍微改变一下:如果一共有4根柱子, 而不是3根,那么至少需要移动盘子多少次,才能把所有的盘子从第1根柱子移动到第4根柱 ...

  6. C++实验五:人口普查统计+汉诺塔问题

    实验目的: 进一步巩固函数的嵌套定义和调用的掌握 掌握函数的递归调用 题目一: 如果P是一年中第一天的人口数量,B是出生率,D是死亡率,年底的人口普查统计值通过下列公式给出: 人口增长率通过下列公式给 ...

  7. 三柱汉诺塔四柱汉诺塔

    汉诺塔问题_哔哩哔哩_bilibili 三柱汉诺塔,从整体来看,分为三部 1.先让n-1个盘先由a柱放在b柱 2.把第n个盘由a柱放在c柱 3.将这n-1个盘由b柱移动到c柱 而其中的递归过程就是直到 ...

  8. Ka的递归编程练习 Part4|Hanoi汉诺塔,双色汉诺塔的也有

    1 #include <stdio.h> 2 void hanoi(int s,char a,char b,char c) //a是出发盘,b是中途盘,c是结束盘 3 { 4 if(s== ...

  9. c语言递归求塔移动次数,【C语言】Hanoi(汉诺)塔问题,求移动盘子的步骤(递归法)...

    所有的循环算法都可以用递归实现,反之不成立,这足以证明递归的重要性! Hanoi(汉诺)塔问题.古代有一个焚塔,塔内有3个座A,B,C,开始时A座上有64个盘子,盘子大小不等,大的在上,小的在下,有一 ...

最新文章

  1. 操作系统学习:系统调用与Linux0.12初始化详细流程
  2. Python的进度条的制作
  3. Android输入输出机制之来龙去脉
  4. python programming training(四):动态规划
  5. uni-app-页面结构
  6. 克制linux启动盘,制作Linux启动盘的四种方法
  7. python编程小知识_分享Python开发中要注意的十个小贴士
  8. html解析のBeautifulSoup
  9. 全局路径规划:图搜索算法介绍2(A star)
  10. 汇编语言比C51需要效率高,汇编语言与C51语言实现跑马灯实验的比较 -
  11. win php mssql php.ini
  12. 3月2日 雾霾图像清晰化处理,第1人称相机世界的坐标系,焦距、焦点、调焦、超焦距、视场角、滑动变焦Dolly zooming,相机内参
  13. 怎样成为一名优秀的运维工程师
  14. mysql varbinary 转换_mysql binary和varbinary存储字段转换大小写
  15. oki5530sc打印错误_我用的是四通oki 5530sc针式打印机,打印时提示正在打印,但就是不打印...
  16. 计算几何 - 你绝对找不到比这更好的计算几何
  17. wps如何在html中在线浏览器,wps如何设置表格内链接用电脑默认浏览器打开
  18. QT实现简单的上位机软件
  19. 仿微信的录制小视频功能
  20. VMware创建共享文件夹并实现文件传输(Windows主机,Ubuntu虚拟机)

热门文章

  1. aix服务器执行diag无响应,我的diag下一步能不能执行下去?
  2. calcite 启发式优化器(HepPlanner)原理与自定义优化规则实现
  3. jquary实现时间轴特效
  4. EasyDL部署到Jetson nano
  5. Android系统智能额温枪,智能红外额温枪方案
  6. 第三章 Combining Steering Behavior
  7. 漫画|区块链之公链的那点事儿
  8. Silverlight 2.5D RPG游戏技巧与特效处理:(十二)魔法系统
  9. Linux以秘钥对方式登录
  10. 如何用微信管理员工、管理团队