通过河内之塔问题深入理解递归思想
来源:互联网 发布:三星专用下载软件 编辑:程序博客网 时间:2024/05/21 17:00
#include<stdio.h>void hanoi(int n,char source,char temp,char target){ if(n==1){ printf("Move sheet %d from %c to %c\n",n,source,target); } else{ hanoi(n-1,source,target,temp); printf("Move sheet %d from %c to %c\n",n,source,target); hanoi(n-1,temp,source,target); }}/*目标:A-->C 递归思想:我永远只当A上面只有2个盘子,第N个和第(N-1)个。这两个盘子的处理方法是:以B为中介(跳板)依次执行:A-->B A-->C B-->C。关键在于把(N-1)从A->B, 再B->C,还是用同样的函数处理,于是就自然形成了递归,可见下面图解。*/int main(){ char A,B,C; int n; printf("请输入盘数: "); scanf("%d",&n); hanoi(n,'A','B','C'); return 0;}
目标A->C:以B为跳板;
A->B:以C为跳板;
B->C:以A为跳板;
手写当n=3时的程序运行流程
0 0
- 通过河内之塔问题深入理解递归思想
- 用递归思想解决河内塔问题
- 河内之塔(汉诺塔问题--------递归
- 基本的递归问题--河内之塔
- 通过河内塔问题来熟悉递归的用法
- 河内之塔问题
- 递归之河内塔,汉诺塔问题(婆罗贺摩塔:Tower of Brahma)
- 河内塔(递归)
- 《具体数学》第一章递归问题之河内塔(THE TOWER OF HANOI)
- 汉诺塔问题(河内之塔)
- 河内之塔(C语言递归实现)
- 河内塔问题程序
- 河内塔问题
- Java-河内塔问题
- 河内之塔
- 河内之塔
- 河内之塔
- 河内之塔
- 泛洪填充算法(Flood Fill Algorithm)
- 大型分布式网站术语分析
- hdu 3666 THE MATRIX PROBLEM (差分约束)
- 哈希表
- java基础知识7this关键字
- 通过河内之塔问题深入理解递归思想
- Gym 101246E Kidnapping 递推or dfs 优化
- 线程池为什么能维持线程不释放,随时运行各种任务?
- Adreno SDK 详细介绍(一)
- 设计模式---适配器模式
- java
- java基础知识8继承
- bzoj4820
- Java最最基础的知识(适合初学者看)