- 博客(2)
- 收藏
- 关注
原创 【C语言】汉诺塔问题(递归)
一、汉诺塔问题 假设有a、b、c三根柱子,a柱子上从上到下、从小到大有n个圆盘,每次只能移动一个圆盘,移动过程中a、b、c三根柱子上都可以放圆盘,且必须是大盘在下、小盘在上,最终按照原有顺序将圆盘全部移动到c柱子上。 二、分析 假设有1个圆盘,如图所示,那么直接将圆盘移动到c柱子上即可。 假设有2个圆盘,如图所示,那么圆盘移动过程应是:a-->b,a-->c,b-->c。 假设有3个圆盘,如图所示,那么圆盘移动过程应是:a-->c,a-->b,c-->b
2022-04-10 20:13:00
3542
原创 【C语言】青蛙跳台阶问题(递归+循环)
一、题目:青蛙一次可以跳1个台阶或2个台阶,当台阶数为n时,共有几种跳法? 二、求解: 当台阶数为1时,有1种跳法;当台阶数为2时,有2种跳法;当台阶数为3时,有3种跳法;当台阶数为4时,有5种跳法;当台阶数为5时,有8种跳法…… 那么这其中有什么规律呢?分析当台阶数为n的情况,青蛙可以选择先跳上一个台阶,剩下的就是当台阶数为n-1时的情况;青蛙也可以选择先跳上2个台阶,那么剩下的就是台阶数为n-2时的情况。因此,假设f(n)为台阶数为n时的跳法数,那么f(n)=f(n-1)+f(n-2),其实就是斐波
2022-04-10 15:40:25
3228
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人