牛客网刷题 ——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;
}
相关推荐
不是万能的豆学长3 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
懂点Tech7 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
catchadmin8 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路9 小时前
go-grpc设计思想
开发语言·后端·golang
酷炫码神10 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elastic 中国社区官方博客10 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn18810 小时前
记录本地安装nacos服务的方法及异常
java·开发语言
水饺编程11 小时前
第2章:Linux 基础,切换到超级用户
linux·c语言·汇编
步行cgn11 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
传奇开心果编程12 小时前
【Rust入门练中学】第5课:引用与借用
开发语言·rust·引用·编程语言理论·通用编程语言·借用