问题:一只青蛙一次可以跳上 1 个或 2 个台阶,假如输入一个数 n 代表台阶数,求青蛙跳上这 n 阶台阶有多少种不同跳法
#define _CRT_SECURE_NO_WARNINGS 1
//一只青蛙一次可以跳上 1 个或 2 个台阶,假如输入一个数 n 代表台阶数,求青蛙跳上这 n 阶台阶有多少种不同跳法
#include <stdio.h>
int fun(int n) //功能函数
{
if (n == 1) //台阶数为1,只有1种跳台阶的方法
{
return 1;
}
else if (n == 2) //台阶数为2,可以选择跳2次1个台阶的也可以选择直接跳1个2个台阶的,即2种方法
{
return 2;
}
return fun(n - 1) + fun(n - 2); //假设有3个台阶,第一次如果跳1个台阶,则还有n-1个台阶需要进行下一次的跳台阶判断,如果第一次是跳2个台阶,则还有n-2个台阶需要判断
}
int main()
{
int n; //几阶台阶
scanf("%d", &n);
printf("%d", fun(n));
}