<c语言经典100例>c26:汉诺塔问题--递归
来源:互联网 发布:淘宝评论过的在哪里找 编辑:程序博客网 时间:2024/06/06 23:01
/* 【程序26】汉诺塔问题--递归算法* 题目:汉诺塔问题:有三根柱子A、B、C,有n个大小不一的圆盘,原始状态,所有圆盘都在A柱上(上面圆盘必须必下面圆盘小),现在要求,将所有圆盘移动到C上,一次只能移动一个,并且必须放在某一根之子上。找出移动次数最小的方案。* 程序分析:A->B->C */#include <stdio.h> void func(int n, char from, char buf, char to); int main(void) { int n; char col[3] = {'A','B','C'};// 定义三根柱子 printf("请输入圆盘个数:\n"); scanf("%d", &n);// 输入有多少个盘 printf("最简移动方案:\n"); func(n, 'A', 'B', 'C'); return 0; } //用n个盘,原始盘全在from上,要移动到to上,中间工具用buf作过渡 void func(int n, char from, char buf, char to) { if (n == 1) { printf("%c--->%c\n", from, to); } else { func(n-1, from, to, buf); //A--->B柱 printf("%c--->%c\n", from, to); func(n-1, buf, from, to); //B--->C柱 } }
阅读全文
0 0
- <c语言经典100例>c26:汉诺塔问题--递归
- <c语言经典100例>c25 递归输出1-100
- C语言经典算法100例-026-递归求阶乘
- <c语言经典100例>c24 递归求n!
- <c语言经典100例>c28:递归算法求年龄
- C语言经典-----汉诺塔(递归)
- 递归专练C 经典汉诺塔问题
- c语言经典问题:汉诺塔 Hanoi问题
- C语言及程序设计进阶例程-7 递归经典:汉诺塔
- C语言经典算法之汉诺塔递归实现
- C语言进阶-7讲: 递归经典:汉诺塔
- 汉诺塔--c语言递归问题
- c语言 递归算法解决汉诺塔问题
- 经典C语言100题-26-递归调用
- 经典递归问题--汉诺塔
- 经典递归问题--汉诺塔
- 经典汉诺塔递归问题
- C语言经典算法100例-011-兔子问题
- 无向图割点(割点后求连通分量个数)
- Tomcat连接xampp集成下的mysql服务器
- hadoop分布式集群搭建
- UVA 170 Clock Patience
- 网易2018校招编程题
- <c语言经典100例>c26:汉诺塔问题--递归
- 上架到苹果商店
- SSH入门项目-6-Shiro安全框架
- 浓墨重彩之OpenStack-07-neutron网络服务
- Ubuntu 遇到系统文件无法修改编辑的解决办法
- Python数据分析之numpy学习(一)
- 51nod 1006 最长公共子序列Lcs
- 剑指Offer------旋转数组的最小数字
- Mac电脑远程Windows的证书无效连接