本文主要是介绍5、斐波那契数列、跳台阶,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目: 斐波那契数列
描述:
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
<?phpfunction Fibonacci($n)
{if($n<=0){$f1 = 0;}else if($n==1||$n==2){$f1 = 1;}else{$f1 = 1; $f2 = 1;while ($n-- > 2) {$f1 += $f2;$f2 = $f1-$f2;}}return $f1;
}
题目: 跳台阶
描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
<?php
/*
解析:
在本体中只有两种跳法即,一阶或者两两阶
a.那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1);
b.假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是f(n-2)
c.由a和b假设可以得出总跳法为: f(n) = f(n-1) + f(n-2)
d.然后通过实际的情况可以得出:只有一阶的时候 f(1) = 1 ,只有两阶的时候可以有 f(2) = 2
e.可以发现最终得出的是一个斐波那契数列:| 1, (n=1)
f(n) = | 2, (n=2)| f(n-1)+f(n-2) ,(n>2,n为整数)
采用迭代比递归效率高
*/
function jumpFloor($number)
{$value=0;if($number==1){$value = 1;}else if($number==2){$value = 2;}else{$f1 = 1; $f2 = 2;for($i=3;$i<=$number;$i++){$value = $f1+$f2;$f1 = $f2;$f2 = $value;}}return $value;
}
这篇关于5、斐波那契数列、跳台阶的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!