其他分享
首页 > 其他分享> > 牛客网 BC107-小乐乐走台阶(递归)

牛客网 BC107-小乐乐走台阶(递归)

作者:互联网

题目描述

小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?

输入描述:

输入包含一个整数n (1 ≤ n ≤ 30)

输出描述:

输出一个整数,即小乐乐可以走的方法数。 

示例1

输入

2

输出

示例2

输入

10

输出

89


答题思路:

n=1时,乐乐腿再长,也只有一个走法,就直接一步走完;

n=2时,乐乐有两种走法,①一次走一个台阶,两次结束②一次走两个台阶,一次结束;

n>2时,①第一次一个台阶,剩下n-1个台阶②第一次走两个台阶,剩下n-2个台阶;

详解如下所示,即为:

 

 

 

易得该模型类似于斐波那契数列,可以用递归方法 

大体思路已有,下面直接上代码:

#include <stdio.h>
int fib(int n)
{    
     if(n<=2)
        return n; 
     else 
        return fib(n-1)+fib(n-2);
}
int main()
{    
     int n = 0;
     scanf("%d", &n);
     printf("%d\n", fib(n));
     return 0;
}

标签:输出,乐乐,台阶,走法,示例,BC107,牛客,输入
来源: https://blog.csdn.net/m0_62965311/article/details/122314077