当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
随机推荐
成品升级程序
刷题-洛谷-P1317 低洼地
【着色器实现Glitch单项故障闪烁效果(与Television效果不同)_Shader效果第十四篇】
awk statistical average max min
Switch node version and switch npm source tool
泰山OFFICE技术讲座:底纹、高亮、边框的关系
Jmeter - Heap配置原因报错Invalid initial heap size: -Xms1024m -Xmx2048mError
取证程序分类
《支付宝体验设计精髓》一书,跟测试相关性知识记录
【有奖征文】秋招特训,打造你的专属产品体验
宏定义小方法
如何让远在的老板看到你!----------来自财富中国网
WIN10系统如何开启终端
拥抱Cmake小朋友 简单又实用,但是不灵活
搭建MyCat2双主双从的MySQL读写分离
To -.-- -..- -
Elastic Search 根据匹配分和热度分排序
MYSQL gets the table name and table comment of the database
5G NR 笔记记录
JSD-2204-酷莎商城(管理员模块)-密码加密-Day10









