牛客网 BC107-小乐乐走台阶(递归)
作者:互联网
题目描述
小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?
输入描述:
输入包含一个整数n (1 ≤ n ≤ 30)
输出描述:
输出一个整数,即小乐乐可以走的方法数。
示例1
输入
2
输出
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