斐波那契数列衍生之 求青蛙跳上n级台阶的 跳法数(递归)

Posted ssopp24

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了斐波那契数列衍生之 求青蛙跳上n级台阶的 跳法数(递归)相关的知识,希望对你有一定的参考价值。

//一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法
// n = 1, 1种方法(一次1级台阶)
// n = 2, 2( 两次1级, 或者一次2级 )
//前两种为基准情况

// n = 3, 3( 三次1级, 或一次1级一次2级(顺序不同,两个方法) )
// n = 4, 5( 四次1级, 或两次二级, 或两次一级一次两级(顺序不同,三种方法) )
//我们通过 台阶数为4来分析。 青蛙一次只能跳一级或者两级
//也就是说: 青蛙跳上四级台阶最后一跳只有两种情况,跳一级或者跳两级,所以青蛙跳四级台阶总的方法数位: 青蛙跳至只剩一级台阶和只剩两级台阶的方法数之和
//即 F(n) = F(n-1) + F(n-2)
//或者,我们多写几种情况,也可以发现规律,方法数为 前一次方法数 + 后一次方法数


int jumpFloor(int number)

	if ( number <= 0 )
		return 0;
	else if ( 1 == number )
		return 1;
	else if ( 2 == number )
		return 2;
        
	return jumpFloor( number-2 ) + jumpFloor( number-1 );

以上是关于斐波那契数列衍生之 求青蛙跳上n级台阶的 跳法数(递归)的主要内容,如果未能解决你的问题,请参考以下文章

斐波那契数列(C++ 和 Python 实现)

斐波那契数列-跳台阶

斐波那契数列

剑指offer-斐波那契数列

青蛙变态跳台阶解法

青蛙跳台阶