
汉诺塔——老夫不管什么分析不分析,直接粗暴
发布日期:2021-05-07 11:07:42
浏览次数:19
分类:精选文章
本文共 627 字,大约阅读时间需要 2 分钟。
直接上代码:
void Prinmove(int num,char a,char b){ printf("%d盘:%c->%c\n",num,a,b);}void Move(int num,char A,char B,char C) //三根柱子 A,B,C{ if (num == 1) //当n=1,直接从A->c { Prinmove(num,A, C); return; } else Move(num - 1, A,C,B);//将(n-1)放在B柱子上 Prinmove(num,A, C);//将第n个放在C上 Move(num - 1, B, A, C);//再将(n-1)个从B放到C}int main(){ int num = 0; printf("请输盘数\n"); scanf("%d", &num); Move(num,'A','B','C'); system("pause"); return 0;}
递归不要太纠结每一个函数运行的过程,太复杂容易乱,要从递归本质出发,将其分解成与原问题相似的小问题来解决,比如汉诺塔,始终是n和(n-1)的事儿,将出口找好,整体分解一次,依次递归;
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月30日 19时08分37秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
.NetCore外国一些高质量博客分享
2019-03-06
解决WebRTC中不同的浏览器之间适配的问题
2019-03-06
深入理解JavaScript函数
2019-03-06
【spring源码系列】之【xml解析】
2019-03-06
(在模仿中精进数据可视化07)星球研究所大坝分布可视化
2019-03-06
(数据科学学习手札02)Python与R在循环语句与条件语句上的异同
2019-03-06
(数据科学学习手札27)sklearn数据集分割方法汇总
2019-03-06
(数据科学学习手札40)tensorflow实现LSTM时间序列预测
2019-03-06
[整理] 哪些集合类是线程安全的?(Java)
2019-03-06
8 个警示和学习的 5 个阶段
2019-03-06
c# 图片带水纹波动
2019-03-06
H5 贪吃蛇源码
2019-03-06
从零开始学安全(十六)● Linux vim命令
2019-03-06
从零开始学安全(三十四)●百度杯 ctf比赛 九月场 sqli
2019-03-06
3389连接痕迹清除
2019-03-06
发生系统错误 6118
2019-03-06
阿里巴巴Json工具-Fastjson教程
2019-03-06
Spring Cloud Gateway - 快速开始
2019-03-06
Spring Security 实战干货:理解AuthenticationManager
2019-03-06
Java对象转JSON时如何动态的增删改查属性
2019-03-06