当前位置:网站首页>青蛙跳台阶(递归和非递归)-------小乐乐走台阶
青蛙跳台阶(递归和非递归)-------小乐乐走台阶
2022-07-30 19:29:00 【果辰辰果】
小青蛙跳台阶
一、 问题描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法???

二、分析问题
当n=1时,有一种跳法
当n=2时,有两种跳法
1.跳一级,跳一级
2.跳两级
当n=3时,有三种跳法
1.跳一级,跳一级,跳一级
2.跳一级,跳两级
3.跳两级,跳一级
先假设f(n)为 n 级台阶的总跳法数;
那么第一次如果选择跳一级的话,剩下的 n-1 级台阶的跳法数就为f(n−1)。
如果第一次跳两级的话,剩下的 n-2 级台阶的跳法就是f(n−2);
所以,当有n个台阶时有f(n)=f(n-1)+f(n-2)种跳法。
三、代码实现(递归)
#include<stdio.h>
int steps(int x)
{
if (x == 1)
{
return 1;
}
if (x == 2)
{
return 2;
}
return steps(x - 1) + steps(x - 2);
}
int main()
{
int n = 0;
scanf("%d", &n);
printf("%d", steps(n));
return 0;
}
四、代码实现(非递归)
#include<stdio.h>
int steps(int x)
{
if (x < 3)
{
return x;
}
int final1 = 1;//倒数第一个跳法
int final2 = 2;//倒数第二个跳法
int sum = 0;//计算一共多少种
for (int i = 3; i <= x; i++)
{
sum = final1 + final2;
final1 = final2;
final2 = sum;
}
return sum;
}
int main()
{
int n = 0;
scanf("%d", &n);
printf("%d", steps(n));
return 0;
}
边栏推荐
猜你喜欢

HCIP --- 企业网的三层架构

防抖和节流有什么区别,分别用于什么场景?

NXP IMX8QXP更换DDR型号操作流程

MongoDB打破了原则引入SQL?

Google's AlphaFold claims to have predicted almost every protein structure on Earth

The use of @ symbol in MySql

VBA 运行时错误‘-2147217900(80040e14):自动化(Automation)错误

牛客刷题系列之进阶版(组队竞赛,排序子序列,倒置字符串, 删除公共字符,修理牧场)

部分分类网络性能对比

iPhone真是十三香?两代产品完全对比,或许上一代更值得买
随机推荐
How do radio waves transmit information?
musicApp 的.eslintrc.js
VBA connects Access database and Excel
NXP IMX8QXP更换DDR型号操作流程
MYSQL(基本篇)——一篇文章带你走进MYSQL的奇妙世界
Spark学习:用spark实现ETL
阿里面试官:给我描述一下缓存击穿的现象,并说说你的解决思路?
Listen to the boot broadcast
MindSpore:【JupyterLab】查看数据时报错
Range.CopyFromRecordset 方法 (Excel)
不同的路径依赖
055 c# print
The advanced version of the Niu Ke brushing series (team competition, sorting subsequences, inverting strings, deleting common characters, repairing pastures)
The 17th "Revitalization Cup" National Youth Vocational Skills Competition - Computer Programmers (Cloud Computing Platform and Operation and Maintenance) Participation Review and Summary
MySQL分组后取最大一条数据【最优解】
LeetCode 0952. Calculate Maximum Component Size by Common Factor: Mapping / Union Search
生物医学论文有何价值 论文中译英怎样翻译效果好
Google's AlphaFold claims to have predicted almost every protein structure on Earth
[TypeScript]编译配置
MindSpore:【模型训练】【mindinsight】timeline的时间和实际用时相差很远