算法学习之旅,中级篇(7)-–递归之汉诺塔
来源:互联网 发布:linux 定时器 编辑:程序博客网 时间:2024/06/05 13:24
介绍
诺塔(又称河内塔)问题是源于印度一个古老的传说的益智玩具。
大梵天在创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片圆盘,大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上,并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
分析
1,先将A上n-1个盘通过C移动到B
2,再将A剩下的一个盘移动到C
3,最后将B盘上的n-1个盘通过A移到C
代码
#include<stdio.h>void move(int n,char a,char b,char c){ if(n==1) //当只有一个的时候直接从a移动到c printf("\t%c->%c\n",a,c); else { //第n-1个要从a通过c移到b move(n-1,a,c,b); printf("\t%c->%c\n",a,c); //n-1个移动过来后,b通过a移动到c move(n-1,b,a,c); }}int main(){ int n; printf("请输入要移动的块数:"); while(scanf("%d",&n)!=EOF) { move(n,'a','b','c'); } return 0;}
遇到的问题
没有问题。
阅读全文
0 0
- 算法学习之旅,中级篇(7)-–递归之汉诺塔
- 算法学习之旅,中级篇(8)-–分治之二分搜索(递归)
- 算法学习之旅,中级篇(5)-–递归之杨辉三角
- 算法学习之旅,中级篇(6)-–递归之斐波拉契数列
- 算法学习之旅,中级篇(1)-–选择排序
- 算法学习之旅,中级篇(2)-–插入排序
- 算法学习之旅,中级篇(3)-–冒泡排序
- 算法学习之旅,中级篇(4)-–快速排序
- 数据结构学习之_汉诺塔递归算法
- 算法学习之递归--汉诺塔问题
- 算法实战学习之递归(1)
- 递归算法之Hanoi(汉诺塔)问题学习
- 递归算法学习之斐波拉契
- Gwt-Ext学习笔记之中级篇
- C语言声明学习之中级篇
- 汉诺塔之递归算法
- 递归算法之汉诺塔
- 算法学习笔记之递归算法
- LeetCode Maximum Width of Binary Tree
- 后缀转中缀
- Sqoop-Shell命令参数详解
- 23. 生成 core dump
- c++map的简单用法
- 算法学习之旅,中级篇(7)-–递归之汉诺塔
- 跨域请求
- 模型汇总22 机器学习相关基础数学理论、概念、模型思维导图分享
- 使用webpack-dev-middleware 和 webpack-hot-middleware 配置一个dev-server
- 【ZJOI2012】波浪【NOIP2017】赤壁情
- 从尾部查找一个单向链表的第几个节点。(4)
- Java 提高(5)----- 泛型
- AJAX实战_搜索框(匹配字符串查询)
- Refletion2017.9.2