题目描述:一只青蛙一次可以跳一个台阶,也可以跳2个台阶,它也可以跳上N级,求该只青蛙跳上一个N级台阶一共有多少种跳法
分析:也就是说跳N级台阶可以从n-1,n-2,…知道从0级上跳上去,此时我们就只需考虑用n-1,n-2,n-3,…分别有多少种跳法,再将它们相加。
当他跳一级台阶时:F(1)=1
当他跳两级台阶时:F(2)=F(1)+1=2
当他跳三级台阶时:F(3)=F(2)+F(1)+1=4
。
。
。
当他跳N级台阶时:F(n)=F(n-1)+F(n-2)+…F(1)+1
F(n-1)= F(n-2)+…F(1)+1
两式相减得F(n)=2F(n-1) ;
```c
int fun(int n)
{
if (n ==1)
{
return 1;
}
else
{
return 2*fun(n - 1);
}
}