当前位置:网站首页>C语言——青蛙跳台阶(递归)
C语言——青蛙跳台阶(递归)
2022-08-04 19:53:00 【硌手的小虫子@】
目录
一、题目描述:
二、解题思路:
三、代码:
一、题目描述:
一只青蛙可以一次跳 1 级台阶或一次跳 2 级台阶,例如:跳上第一级台阶只有一种跳法,直接跳 1 级即可。跳上两级台阶,有两种跳法: 每次跳 1 级,跳两次; 或者一次跳 2 级。问要跳上第 n 级台阶有多少种跳法?
二、解题思路:


通过分析可以发现青蛙跳台阶问题可以类似于一个斐波那契数:当青蛙要跳到第一个台阶时可以跳一个台阶;当青蛙要跳到第二个台阶时可以跳一个2级台阶或者两个1级台阶;当台阶数大于2即N个台阶时,可以从第N-1个台阶跳、也可以从第N-2个台阶跳——walk(n)=walk(n-1)+walk(n-2)。
三、代码:
#include<stdio.h>
int test(int n)
{
if (n <= 2)
return n;
else
return test(n - 1) + test(n - 2);
}
int main()
{
printf("输入要跳的台阶数!!!\n");
int n = 0;
scanf("%d", &n);
int ret = test(n);
printf("有%d种跳法\n", ret);
return 0;
}
边栏推荐
猜你喜欢
随机推荐
awk statistical difference record
运维就业现状怎么样?技能要求高吗?
LED的C语言应用程序
Latex分章节、分段落编译:input{}与include{}的区别
awk statistical average max min
宏定义小方法
SAP UI5 ensures that the control id is globally unique implementation method
【ASP.NET Core】 中间件
Orthodontic MIA micro-implant anchorage technology China 10th anniversary exchange meeting was held in Shenyang
nr部分计算
如何让远在的老板看到你!----------来自财富中国网
SAP 电商云 Accelerator 和 Spartacus UI 的工作机制差异
Chrome安装zotero connector 插件
使用 Chrome 开发者工具的 lighthouse 功能分析 web 应用的性能问题
MogDB学习笔记-环境准备及单实例安装
微信小程序云开发 | 赠、删、改城市名称信息的应用实现
成品升级程序
实现菜单拖拽排序
蚂蚁集团时序数据库CeresDB正式开源
力扣题(5)—— 最长回文子串









