走楼梯

简介: 楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。

走楼梯

题目描述

楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。
编一个程序,计算共有多少种不同的走法。

输入描述

一个数字,楼梯数。

输出描述

输出走的方式总数。

样例输入 1

4

样例输出 1

5

代码

递归

#include<stdio.h>

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

int main(){
    int n;
    scanf("%d",&n);
    printf("%d",step(n));
    return 0;
}

这题没多少印象,但是印象里递归好像有测试点过不去,会超时,再补一个动态规划的题解。

动态规划

#include<stdio.h>


int main(){
    int n;
    scanf("%d",&n);
    int res[n+1];
    res[0] = 0;
    res[1] = 1;
    res[2] = 2;
    if(n<=3)
    {
        printf("%d",n);
        return 0;
    }
    for(int i=3;i<=n;i++)
    {
        res[i]=res[i-1]+res[i-2];
    }
    printf("%d",res[n]);
    return 0;
}
相关文章
1312:【例3.4】昆虫繁殖
1312:【例3.4】昆虫繁殖
102 1
|
索引
每日一题——山羊拉丁文
每日一题——山羊拉丁文
122 0
每日一题——山羊拉丁文
A2234 结果填空:青蛙爬井
A2234 结果填空:青蛙爬井
703 0
A2234 结果填空:青蛙爬井
喜水青蛙
总是喜欢在水里嬉戏的青蛙,某天要过河拜访一位朋友。 已知河道中长满了带刺的不知名生物,能通过的路只有一条直线,长度为L。 直线上随机分布着m块石头。青蛙的最小跳跃距离是s,最大跳跃距离是t。 青蛙想要尽可能的少踩石头,那么它通过河道最少会踩到多少石头?
程序人生 - 阿萨姆奶茶 & 元气森林乳茶
程序人生 - 阿萨姆奶茶 & 元气森林乳茶
134 0
程序人生 - 阿萨姆奶茶 & 元气森林乳茶
|
弹性计算 关系型数据库 MySQL
在知识的海洋里喝水
福建疫情来袭,宿舍上课之际。闲来无事为协会创建一个官网。以便后续纳新等后续各项事宜发布。试运营之后将接入学校官网。
在知识的海洋里喝水
LeetCode 2105. 给植物浇水 II(双指针)
LeetCode 2105. 给植物浇水 II(双指针)
157 0
彩铅练习,蜗牛
小小蜗牛慢慢爬。 这是画的第二张彩铅画。 image.png
810 0
彩铅练习,柠檬
好丑啊,不说啥了 image.png
725 0