分析
实现目标:一只青蛙一次最少可以跳1层台阶,一次最多可以跳2层台阶,求:该青蛙跳上n层的台阶总共有多少种跳法?
找规律
以上的1,2,5,8…
是斐波那契数列
F(1)=1,F(2)=2
当n>=3时,F(n)=F(n-1)+F(n-2)
代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//青蛙跳台
int F(int n)
{
if (n == 1 || n == 2)
return n;
else {
return F(n - 1) + F(n - 2);
}
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = F(n);
printf("%d", ret);
return 0;
}