汉诺塔问题的递归求解方法
来源:互联网 发布:win7网络驱动下载 编辑:程序博客网 时间:2024/05/18 12:39
汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上(如图)。有一个和尚想把这64个盘子从A座移到B座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。在移动过程中可以利用B座,要求打印移动的步骤。
#include<stdio.h>long count;//全局变量,记录移动的次数void hanoi (int n,char a,char b,char c)//a移动到b,c作为临时塔{ if (n==1) { printf("第%d次,%c塔-->%c塔\n",++count,a,c); } else { hanoi(n-1,a,c,b);//递归调用本函数,移动a到c,用b作为临时塔 printf("第%d次,%c塔-->%c塔\n",++count,a,c); hanoi(n-1,b,a,c);//递归调用本函数,将b移到a,用c作为临时塔 }}int main(){ int h;//圆盘数量 printf("请输入汉诺塔圆盘的数量:"); scanf("%d",&h); count=0; hanoi(h,'A','B','C'); getch(); return 0;}
阅读全文
0 0
- 汉诺塔问题的递归求解方法
- 汉诺塔问题的递归求解
- 汉诺塔问题的递归求解
- 用递归方法求解汉诺塔问题
- 用递归方法求解汉诺塔问题。
- 采用递归和非递归方法求解汉诺塔问题
- 递归方法求解汉诺塔!
- 递归求解汉诺塔问题
- 汉诺塔问题递归求解
- 迷宫问题的递归求解
- 汉诺塔问题递归算法求解
- Java递归求解汉诺塔问题
- 汉诺塔问题(递归求解)
- 递归法求解 汉诺塔问题
- 用递归方法求解Hanoi问题
- 非递归求解汉诺塔的两种方法
- 黑马程序员--汉诺塔问题的递归求解C语言
- 汉诺塔的递归求解分析
- Ubuntu 16.04 LTS安装Qt Creator
- mysql数据库相关学习
- ServerSelectionTimeoutError: localhost:27017: [Errno 10061]
- Android listView中 editText 的 addTextChangedListener 和 OnItemClickListener 监听
- IOS GCD Swift3.0
- 汉诺塔问题的递归求解方法
- Mybatis Plugin破解
- 双向链表的增删改查
- 第十三周算法
- 在线编译器
- WebView整理归档
- 413. Arithmetic Slices
- 牛客网在线编程剑指offer题目二请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 【Codeforces 808 D. Array Division】+ 二分