题解 | #跳台阶#

跳台阶

https://www.nowcoder.com/practice/bfb2a2b3cdbd4bd6bba0d4dca69aa3f0

#include <stdio.h>
/*
首先是n的取值范围0~40,确认0和1方法就是1,即为初值;
其次需要想清楚f(n),因为只有f(n - 1)和f(n - 2)才可以跳入f(n),所以f(n) = f(n - 1) + f(n - 2).
*/
int jump(int n)
{
    if(n < 0 || n > 40)
        return -1;

    if (n == 0 || n == 1)
        return 1;
    else
    {
        return jump(n - 1) + jump(n - 2);
    };
}

int main() {
    int a;
    while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
        printf("%d\n", jump(a));
    }
    return 0;
}

全部评论

相关推荐

迷茫的大四🐶:💐孝子启动失败,改为启动咏鹅
点赞 评论 收藏
分享
09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务