题解 | #小乐乐走台阶#

小乐乐走台阶

http://www.nowcoder.com/practice/ebf04de0e02c486099d78b7c3aaec255

/*
根据题意,小乐乐可以选择走一步或者走两步,则走到n步的方法数之和有两种情况
1、先按照某种方法走到第n-2阶,最后一次直接跨两阶
2、先按照某种方法走到第n-1阶,最后一次只跨一阶
也就是,最后到达n步的方法只有这两种,要么是跨一阶到达,要么是跨两阶到达
所以,假设走到第n阶所用的方法总数为f(n),则f(n)=f(n-2)+f(n-1);
搞清楚这个接下来解题就很简单了,可以用递归和迭代都可以
*/

#include<stdio.h>
int meth(int n)
{
    if(n==1||n==2)//一阶的时候只能有一种方式,两阶的时候有两种方式,这是递归的退出条件
        return n;
    return meth(n-1)+meth(n-2);//假设走到第n阶所用的方法总数为f(n),则f(n)=f(n-2)+f(n-1);
}
int main(void)
{
    int n;
    scanf("%d",&n);
    printf("%d",meth(n));
    return 0;
}
全部评论
这个思路目前最好了!
点赞 回复 分享
发布于 2024-05-01 00:52 湖北

相关推荐

01-16 18:34
四川大学 Java
欢迎加入AI:没有啥稳定不稳定,一切都源于业务快速发展还是收缩。我当年一开始去的央企,业务不赚钱,也贼卷,慢慢就开始优化了。。。
点赞 评论 收藏
分享
2024-12-23 06:50
门头沟学院 Java
给点吧求求了:3点发的帖子,害怕😰
点赞 评论 收藏
分享
评论
9
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务