猴子爬山od

100分

题目

一天一只顽猴想要从山脚爬到山顶,途中经过一个有 n 个台阶的阶梯,但是这个猴子有个习惯,每一次只跳 1 步或 3 步。试问猴子通过这个阶梯有多少种不同的跳跃方式。

输入

输入只有一个数 n0 <= n <= 50,代表此阶梯有多个台阶。

输出描述

一个整数,表示有多少种跳跃方式。

示例1

输入:50

输出:122106097
示例2

输入:3

输出:2

代码思路

java 复制代码
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        System.out.println(countf(n));
    }
    public static int countf(int n){
        if(n<=2){
            return 1;
        }
        int[] dp = new int[n+1];
        dp[1]=1;
        dp[2]=1;
        dp[3]=2;
        for(int i=4;i<n+1;i++){
            dp[i] = dp[i-1]+dp[i-3];
        }
        return dp[n];
    }

}
相关推荐
Dlrb12117 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
Tisfy7 小时前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针
IronMurphy7 小时前
【算法四十七】152. 乘积最大子数组
算法
淘矿人8 小时前
Claude辅助DevOps实践
java·大数据·运维·人工智能·算法·bug·devops
Cosolar8 小时前
万字详解:RAG 向量索引算法与向量数据库架构及实战
数据库·人工智能·算法·数据库架构·milvus
落羽的落羽10 小时前
【算法札记】练习 | Week4
linux·服务器·数据结构·c++·人工智能·算法·动态规划
萑澈11 小时前
算法竞赛入门:C++ STL核心用法与时空复杂度速查手册
数据结构·c++·算法·stl
Godspeed Zhao11 小时前
从零开始学AI16——SVM
算法·机器学习·支持向量机
江屿风11 小时前
C++OJ题经验总结(竞赛)1
开发语言·c++·笔记·算法