牛客网刷题 ——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;
}
相关推荐
言乐62 小时前
Python游戏水平测试辅助系统
开发语言·python·游戏·django·pygame
WWJA王文举9 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
zhanghaha131410 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
qq_4480111611 小时前
C语言中的动态内存分配
c语言·开发语言·php
动词ing12 小时前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
汉字萌萌哒12 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
arbboter12 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
汉字萌萌哒13 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
叠层归一研究院13 小时前
AGI 系统(十一):二阶网络 — 二阶递归 × 多主体 (元符号网络)
开发语言·人工智能·算法·php·agi
小雨笙笙13 小时前
C语言:变量三属性——存储类型
c语言·开发语言