求1到N的和

水光清浅 2017-10-11 11:02:43

// 递归
function Add($num)
{
switch ($num) {
case 1:
return $num;
default:
return $num + Add($num - 1);
}
}

//尾递归
function Add2($num, $result = 0)
{
switch ($num) {
case 0:
return $result;
default:
return Add2($num - 1, $result + $num);
}
}

//迭代
function Add3($num)
{
$result = 0;
while ($num != 0) {
$result += $num;
$num--;
}
return $result;
}

//回调
function AddFunc($num, $result = 0)
{
if ($num == 0) {
return $result;
}
return function () use ($num, $result) {
return AddFunc($num - 1, $result + $num);
};
}

function Add4($callback, $num)
{
$result = call_user_func_array($callback, $num);
while (is_callable($result)) {
$result = $result();
}
return $result;
}

echo Add(n);
echo Add2(n);
echo Add3(n);
echo Add4('AddFunc', [n]);

请问哪个性能比较好?第四种方法名称是叫回调吗?
...全文
1045 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
QCCC 2017-11-01
  • 打赏
  • 举报
回复
进来学习~!
水光清浅 2017-10-31
  • 打赏
  • 举报
回复
nanyue2004 2017-10-14
  • 打赏
  • 举报
回复
路过 学习了。
xiaobaicaidage 2017-10-13
  • 打赏
  • 举报
回复
array_sum(range(1,100))
qian296573575 2017-10-12
  • 打赏
  • 举报
回复
return function () use ($num, $result) {         return AddFunc($num - 1, $result + $num);     };
qian296573575 2017-10-12
  • 打赏
  • 举报
回复
为什么回掉我看不懂呢?
木乄木 2017-10-12
  • 打赏
  • 举报
回复
追求性能的话
function add($n) {
    return  ($n+1)*$n/2;
}
这样比较好吧
xuzuning 2017-10-11
  • 打赏
  • 举报
回复
吃力的环节越少、消耗的内存越少,效率越高 显然是迭代效率最高
hongmei85 2017-10-11
  • 打赏
  • 举报
回复
最快是function add(n){retrun n(n+1)/2}
内容概要:本文系统研究了虚拟同步发电机(VSG)的惯量-阻尼协同自适应并网控制策略及其稳定性分析,聚焦于提升高比例可再生能源接入背景下电网的频率稳定性。通过Simulink仿真平台与Matlab代码实现,构建了VSG并网系统的动态模型,深入探讨了惯量与阻尼参数的自适应调节机制,以优化系统对频率波动的响应能力。研究涵盖了双机并联VSG的功率精确分配、微电网黑启动过程、虚拟阻抗的引入以及预同步控制等关键技术,并结合根轨迹分析与调节系数对比,验证了所提控制策略在提升系统稳定性和动态性能方面的有效性。文章强调了协同自适应控制在现代电力系统中的关键作用,为微电网和分布式能源系统的稳定运行提供了理论支持和技术方案。; 适合人群:具备电力系统、自动控制或新能源并网等相关专业知识背景,熟悉Matlab/Simulink仿真工具,从事电力电子、微电网控制、可再生能源并网等领域科研或工程应用的研发人员及研究生。; 使用场景及目标:①掌握VSG在微电网及并网系统中的高精度建模与仿真方法;②深入理解惯量-阻尼协同自适应控制对电网频率稳定的优化机制;③应用于微电网黑启动、功率均分控制、虚拟阻抗设计及预同步等实际工程场景的算法开发与性能验证; 阅读建议:建议结合提供的Matlab代码与Simulink模型进行同步仿真操作,重点关注参数自适应调节模块的设计逻辑、根轨迹稳定性分析及不同调节系数下的动态响应对比,以深化对控制策略内在机理的理解与实际应用能力。

20,393

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧