一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)
代码思路:
1.跳法满足斐波那契数列
n = 1,sum = 1
n = 2,sum = 2
n = 3,sum = 3
n = 4,sum = 5
.
.
.
斐波那契数列的求第n项可以看我之前的文章,在此不再叙述
https://blog.csdn.net/weixin_46276101/article/details/114028020
2.采用递归的方式解决问题,num>=3时,第一阶有两种跳法,一次两阶,一次一阶,第二阶,第三阶...同理,也是这两种方法跳,当最后剩下一个台阶的时候就只有一种方法,剩两个台阶就有两种方法,把方法总数加起来(其实也是递归方式求斐波那契数列)
int recursion(int num)
{
if (num == 1)
return 1;
else if (num == 2)
return 2;
else
{
solution_sum = recursion(num - 1) + recursion(num - 2);
return solution_sum;
}
}