(案例)函数的递推递归思想,PHP斐波那契数列求和

<?php

递推由小推大

递归由大推小

注意:递推比递推效率高很多

//0、1、1、2、3、5、8、13、……求和
//递归思想求第n项的值
function qiuhe($n){
    if($n==1){
        return 0;
    }else if($n==2){
        return 1;
    }else{
        return qiuhe($n-2)+qiuhe($n-1);
    }

}

$sum=0;//求和的全局变量

//求前n项和的函数

function zonghe($j){
    //循环输出前n项的值
    for ($i = 1; $i <= $j; $i++) {
        echo qiuhe($i);
        echo "&nbsp";
        //引用全局变量
        global $sum;
        //前n项值的和
       $sum = $sum + qiuhe($i);
    }
}
zonghe(20);

echo "总和为:".$sum;

 

 

//递推思想求第n项的值

function f($n){
  $n1=1;//第一项的值
  $n2=1;//第二项的值
  $jieguo=0;
  for($i=3;$i<=$n;$i++){
     $jieguo=$n1+$n2;
     $n1=$n2;
     $n2=$jieguo;
    
  }
return $jieguo;
}
echo f(6);//输出第6项的值

 

 


?>

posted @ 2017-05-21 22:13  安晓宇  阅读(1074)  评论(0)    收藏  举报