当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
随机推荐
QT 小知识随记
图片延迟加载、预加载
awk 统计差值记录
Finger Vein Recognition-matlab
对比几类主流的跨端技术方案
华为交换机:STP测试实验
致-.-- -..- -
idea源码无法下载
SAP 电商云 Accelerator 和 Spartacus UI 的工作机制差异
How to monitor code cyclomatic complexity by refactoring indicators
完善的交叉编译环境记录 peta 生成的shell 脚本
really time ntp服务启动命令
Tensorflow2 环境搭建
Embrace the Cmake child is simple and practical, but inflexible
笔记本WIFI无法上网(无Internet访问权限)
如何让远在的老板看到你!----------来自财富中国网
"WAIC 2022 · hackers marathon" two ants wealth competition invited you to fight!
PostgreSQL的 SPI_接口函数
C#将对象转换为Dictionary字典集合
搭建MyCat2一主一从的MySQL读写分离