PHP中计算n的阶乘用递归和循环的方法怎样做
Admin 2022-09-27 群英技术资讯 784 次浏览
这篇文章给大家介绍了“PHP中计算n的阶乘用递归和循环的方法怎样做”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。1、普通递归实现,根据递归的通用公式fact(n) = n * fact(n-1)很容易写出阶乘的计算代码。
普通递归实现的优点在于代码比较简洁,和通用公式一样的过程使得代码容易理解。缺点则在于由于需要频繁地调用自身,需要大量的入栈出栈操作,整体的计算效率不高。
function fact(int $n): int
{
if ($n == 0) {
return 1;
}
return $n * fact($n - 1);
}
2、普通循环实现,有些动态规划的味道,但由于中间态变量使用频率低,不需要额外存储空间。
所以要比一般的动态规划算法简单。普通递归方法是自顶向下(由 n 到 1)的计算过程,而普通循环是自底向上进行计算。
function fact(int $n): int
{
$result = 1;
$num = 1;
while ($num <= $n) {
$result = $result * $num;
$num = $num + 1;
}
return $result;
}
推荐操作系统:windows7系统、PHP5.6、DELL G3电脑
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作,结合实例形式详细分析了thinkPHP5.0框架Model模型操作数据的添加、更新、删除的各种常用技巧与操作注意事项,需要的朋友可以参考下
GatewayWorker基于Workerman开发的一个项目框架;GatewayWorker通过Register服务来建立划分集群,同一集群使用相同的Register服务ip和端口。
swoole加密不可破解。Swoole程序的执行和加解密过程合二唯一,即使拿到了数据和私钥和服务器的root权限,也无法解密还原数据。
这篇文章主要介绍了PHP 图像处理与SESSION制作超简单验证码的方法,结合实例形式详细分析了PHP结合session绘制图形验证码相关操作技巧,需要的朋友可以参考下
在PHP中有很多用来排序数组函数,这篇文章就主要介绍sort函数。PHP的sort函数是用来对数值数组进行升序排序的,也就是从低到的到高排序。下面我们就来了解一下sort函数以及实例。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008