php阶乘递归(php中n阶乘的实现方法)
导读:1、普通递归实现,根据递归的通用公式fact(n = n * fact(n-1 很容易写出阶乘的计算代码。...
1 、普通递归实现 ,根据递归的通用公式fact(n) = n * fact(n-1)很容易写出阶乘的计算代码 。
普通递归实现的优点在于代码比较简洁 ,和通用公式一样的过程使得代码容易理解 。缺点则在于由于需要频繁地调用自身,需要大量的入栈出栈操作 ,整体的计算效率不高 。
functionfact(int$n):int { if($n==0){ return1; } return$n*fact($n-1); }2 、普通循环实现 ,有些动态规划的味道 ,但由于中间态变量使用频率低 ,不需要额外存储空间 。
所以要比一般的动态规划算法简单 。普通递归方法是自顶向下(由 n 到 1)的计算过程 ,而普通循环是自底向上进行计算 。
functionfact(int$n):int { $result=1; $num=1; while($num<=$n){ $result=$result*$num; $num=$num+1; } return$result; }以上就是php中n阶乘的实现方法 ,希望对大家有所帮助 。更多php学习指路:php教程
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!