(案例)函数的递推递归思想,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 " ";
//引用全局变量
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项的值
?>

浙公网安备 33010602011771号