很多站长朋友们都不太清楚php函数递归计算,今天小编就来给大家整理php函数递归计算,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP用函数递归计算1的平方+2的平方+……+20的平方和 2、 php中用递归函数计算出16的4次方 3、 php递归的方法求和1+2+3+...+n 4、 php递归函数 PHP用函数递归计算1的平方+2的平方+……+20的平方和递归:
function square_sum($n, $sum = 0){ if ($n >= 1) { $sum += $n*$n; $n--; square_sum($n, $sum); } return $sum;}echo square_sum(5);//55
非递归:
function square_sum($n){ $sum = 0; for ($i=1; $i <= $n; $i++) $sum += $i*$i; return $sum;}echo square_sum(5);//55
php中用递归函数计算出16的4次方这个实际上是算组合数;
其中包含的有递推公式:comm(n,k)=comm(n-1,k)+comm(n-1,k-1);
comm(n,0)=1,comm(n,n)=1为递归初始条件。
递推公式和初始条件就是组合数的性质,相当于在算组合数,你把他逐步分解往回推就行了。
其实就我的理解,递归就是一种堆栈的形式,而且是一种循环。
如果还有不理解的可以问我。
php递归的方法求和1+2+3+...+nphp递归求和1+2+3+...+n的方法如下:
function sum($n) {
if ($n == 1) {
return 1;
}
return $n + sum($n - 1);
}
echo sum(n);
php递归函数递归其实就是“一个函数的自调用”
在这个“自调用”的过程中,必须要有一个变化的“参数”,当这个“参数”达到你的期望值的时候,终止该“自调用”过程
拿楼主的程序来说
demo($n)内部又有调用demo($n-1),构成了“自调用”
且,$n又有一个“期望值”,即是$n>1,不满足此条件时,该自调用终止
即是说,最后一个执行的demo是demo($n9-1),其中$n9=2,然后返回为1(因为执行了return 1)
则$n9*demo($n9-1)即等于 2*demo(2-1),又等于2*1=2;
则$n8*demo($n8-1)即等于 3*demo(3-1),又等于3*2=6;
则$n7*demo($n7-1)即等于 4*demo(4-1),又等于4*6=24;
……
依次类推
这样想:
demo(1)是等于1,这个没有疑问吧?
然后demo(2)等于2*demo(1)=2*1=2
然后demo(3)等于3*demo(2)=3*2=6
……
一直到demo(10)
关于php函数递归计算的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php函数递归计算 php递归函数1加到100的详细内容...