猴子爬山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];
    }

}
相关推荐
逸风尊者34 分钟前
XGBoost模型工程使用
java·后端·算法
LUVK_42 分钟前
第七章查找
数据结构·c++·考研·算法·408
khalil10201 小时前
代码随想录算法训练营Day-31贪心算法 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
数据结构·c++·算法·leetcode·贪心算法·二叉树·递归
lihihi1 小时前
P9936 [NFLSPC #6] 等差数列
算法
啊我不会诶1 小时前
2024ICPC西安邀请赛补题
c++·算法
谭欣辰2 小时前
C++ 版Dijkstra 算法详解
c++·算法·图论
yuan199972 小时前
C&CG(列与约束生成)算法,来解决“风光随机性”下的微网鲁棒配置问题
c语言·开发语言·算法
wayz112 小时前
Day 11 编程实战:XGBoost金融预测与调参
算法·机器学习·金融·集成学习·boosting
念越2 小时前
算法每日一题 Day07|双指针求解和为S的两个数
算法·力扣
qeen872 小时前
【算法笔记】双指针及其经典例题解析
c++·笔记·算法·双指针