首先青蛙跳台规则为:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
答案:
青蛙跳台阶: 跳到m阶一定是m-1或者是m-2台阶跳上去的
由此可知对应函数为 f (m)=f(m-1)+f(m-2);
f(m-1) ,f(m-2) 继续往下延申知道加起来为所有可能
由此可知为斐波那契数列
但与之 不同的是 青蛙跳台阶在第二个阶梯位置有两种可能1.跳两次 2.一次跳上去
所以 f(1)=1; f(2)=2
上代码!
#include <stdio.h>
int Fbi(int n)
{
if (n == 1)
return n;
else if (n == 2)
return n;
else
return Fbi(n - 1) + Fbi(n - 2);
}
int main()
{
int n=0;
printf("请输入青蛙要跳到第几个台阶:");
scanf("%d",&n);
int ret=Fbi(n);
printf("\n");
printf("有%d种可能",ret);
printf("\n");
return 0;
}
感谢阅读,望留下一个免费的赞😍