当前位置:网站首页>《c语言》青蛙跳台阶递归问题
《c语言》青蛙跳台阶递归问题
2022-07-31 06:42:00 【郭郭学习之旅】
题目:
一只青蛙可以一次跳 1 级台阶或一次跳 2 级台阶,例如:跳上第一级台阶只有一种跳法:直接跳 1 级即可。跳上两级台阶,有两种跳法: 每次跳 1 级,跳两次; 或者一次跳 2 级.问要跳上第 n 级台阶有多少种跳法?
思路分析:
首先我们可以考虑到,青蛙在只有一层台阶的时候只会有一种跳法,在两层台阶的时候会有两种跳法
那么我们尝试考虑一下如果有三个台阶呢,小青蛙可以有了多种选择,他可以选择一个一个
也可以选择第一次跳一个台阶,第二次直接跳两个台阶
还可以选择第一次跳两个台阶,然后再跳一个台阶
那么综上所述,我们可以得到
如果有一个台阶的话,小青蛙有一种跳法;
如果有两个台阶的话,小青蛙有两种跳法;
如果有三个台阶的话,小青蛙有三种跳法;
如果有四个台阶的话,小青蛙有五种跳法;
……………………
那么我们可以考虑到,无非小青蛙的跳法就是n-1个台阶的跳法次数+n-2个台阶的跳法次数
所以我们代码可以如下所示
int frog(int n) {
if (n == 1)return 1;
else if (n == 2)return 2;
else return frog(n - 1) + frog(n - 2);
}
好了本次思路就分享到这~~感谢大家三连支持
边栏推荐
- 完美指南|如何使用 ODBC 进行无代理 Oracle 数据库监控?
- 从入门到一位合格的爬虫师,这几点很重要
- Explain the example + detail the difference between @Resource and @Autowired annotations (the most complete in the entire network)
- ros little turtle drawing
- 把 VS Code 当游戏机
- 深度学习通信领域相关经典论文、数据集整理分享
- 2022.07.18 _ a day
- Log4net 思维导图
- DAY18: XSS vulnerability
- 2022.07.18_每日一题
猜你喜欢
CNN--Introduction to each layer
Core Tower Electronics won the championship in the Wuhu Division of the 11th China Innovation and Entrepreneurship Competition
超级详细的mysql数据库安装指南
最大似然估计和最小二乘法 含代码
LeetCode:952. 按公因数计算最大组件大小【欧拉筛 + 并查集】
【面试:并发篇38:多线程:线程池】ThreadPoolExecutor类的基本概念
【Go语言入门】一文搞懂Go语言的最新依赖管理:go mod的使用
2704:寻找平面上的极大点
2022.07.29_每日一题
双倍数据速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory, DDR SDRAM)- 逻辑描述部分
随机推荐
【Go报错】go go.mod file not found in current directory or any parent directory 错误解决
在 ASP.NET Core 应用程序启动时运行代码的 3 种方法
Fund investment advisory business
2022.07.12 _ a day
毫米波技术基础
【第四章】详解Feign的实现原理
那些破釜沉舟入局Web3.0的互联网精英都怎么样了?
ros小乌龟画图
2022.07.20_Daily Question
How to set the computer password?How to add "safety lock" to your computer
Machine Learning - Notes and Implementation of Linear Regression, Logistic Regression Problems
Embedded system driver primary [2] - _ parameters and dependencies under the kernel module
【科普向】5G核心网架构和关键技术
2022.07.18 _ a day
金融租赁业务
2022.7.29 Array
R——避免使用 col=0
任务及任务切换
从 Google 离职,前Go 语言负责人跳槽小公司
《opencv学习笔记》-- 仿射变换