牛客网刷题 ——C语言初阶——BC117 小乐乐走台阶

1.题目 :BC117 小乐乐走台阶

牛客OJ题链接

  • 描述

小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?

  • 输入描述:

输入包含一个整数n (1 ≤ n ≤ 30)

  • 输出描述:

输出一个整数,即小乐乐可以走的方法数。

示例1:

输入:2

输出:2
示例2:

输入:10

输出:89

2.思路

一开始不知道是什么,分析了下,

1个台阶只有1种走法

2个台阶有2种走法(1个1个走 || 一次走2个)

3个台阶有3种走法(1个1个走 || 第一次走2个,第二次走1个||第一次走1个,第二次走2个)

4个台阶有5种走法(1个1个走||2个2个走||第一次走1个,第二次走2个,第三次走1个||第一次走2个,第二次走1个,第三次走1个|| 第一次走1个,第二次走1个,第三次再走2个)

这看起来就眼熟了这不是斐波那契么。除了前两项,后面的都是前面两项相加。直接写代码

3.代码实现

c 复制代码
#include <stdio.h>

int step(int n)
{
    if(n <=2)
    {
        return n;
    }
    else 
    {
        return step(n-1)+step(n-2);
    
    }

}
int main() {
    int a;
    while (scanf("%d ", &a) != EOF) { 

      int b =  step(a);
      printf("%d",b);
    }
    return 0;
}
相关推荐
一方热衷.10 分钟前
YOLO26-Seg ONNXruntime C++/python推理
开发语言·c++·python
串口哑火达人2 小时前
(六)RT-Thread网络通信--AT组件与ESP8266
c语言·单片机·嵌入式硬件·mcu·物联网
靓仔建2 小时前
Vue3导入组件出错does not provide an export named ‘user_setting‘ (at index.vue:180:10)
开发语言·前端·typescript
赶路人儿3 小时前
UTC时间和时间戳介绍
java·开发语言
6+h3 小时前
【java】基本数据类型与包装类:拆箱装箱机制
java·开发语言·python
未来之窗软件服务4 小时前
幽冥大陆(一百12)js打造json硬件管道——东方仙盟筑基期
开发语言·javascript·算法·json·仙盟创梦ide·东方仙盟·东方仙盟算法
人道领域4 小时前
苍穹外卖:菜品分页查询与删除功能(保姆级详解)
java·开发语言·数据库·后端·spring
爱编码的小八嘎4 小时前
C语言完美演绎3—8
c语言
EverestVIP4 小时前
c++前置声明的方式与说明
开发语言·c++
天远云服5 小时前
天远企业司法认证API对接实战:PHP构建B2B供应链合规防火墙
大数据·开发语言·后端·node.js·php