斐波那契数列
根据以下一些数字找出规律,并推算出第100个数字为多少。
1,1,2,3,5,8,13,21,34……..
[code language=”php”]
< ?php
/**
*方法一采用递归算法,把计算的数据压入数组中,最后返回整个数组
*在数组中查找需要的结果
*/
function sum_in($n,$k=1){
static $array=array(1,1);
if($n>$k){
if($k>1){
$array[]=($array[$k-2]+$array[$k-1]);
}
return sum_in($n,$k+1);
}else{
return $array;
}
}
/**
* 这个思路仍然是把数据压入数组中,但没有使用递归
*/
function sum_in($n){
$array=array(1,1);
for($i=2;$i< $n;$i++){
$array[$i]=$array[$i-1]+$array[$i-2];
}
return $array;
}
?>
[/code]
上面的两个方法运行的后返回的结果都是元素个数为一百的数组,直接pop一个元素即可得到想要的第N个是多少了
接着思考有没有其他的思路,如果有我在补充,如果各位客官有其他什么方法,也可以补充。