题目分析:
小青蛙跳到第n阶也就是最后一阶台阶,可以从n-1来,也可以从n-2来。第n-1级台阶可以从n-2,
或者n-3来。第n-2级可以从n-3或者n-4来。这可以用递归来解决。
如果一次跳一级,则剩下n-1级台阶,有f(n-1)种跳法;一次跳两级,剩下n-2级,有f(n-2)种跳
法。
比如:
每一节台阶都有上一次跳过来的2种跳法。总共有多少种呢?
f(n)=f(n-1)+f(n-2)
或者可以从找规律的角度思考:
n 1 2 3 4 5......
跳法 1 2 3 5 8......
代码:
#include
int jump(int n)
{
int sum=0;
if(n>2)
{
sum=jump(n-1)+jump(n-2);
}
else if(n>0)//0
结束语:
有参考网上的分析与代码,如有错误,请多包涵。