创建一个函数,将一组数字之间的数字相加



我必须做一个这样的函数:(2, 5) =>2 + 3 + 4 + 5 = 14或(1, 6) =>1 + 2 + 3 + 4 + 5 + 6 = 21

我试了几样东西,但我似乎都弄不明白。我尝试在函数中创建一个while循环:

<?php
function telOp($getal1, $getal2){
while ($getal1 <= $getal2){
echo $getal1++;
}
}
$resultaat = telOp(5, 10);
print ($resultaat);

现在,这将打印从5到10的数字,但我似乎不能使它工作,他们加起来。

我也试过简单地用返回语句将数字相加,但组合这两个似乎不起作用。:

<?php
function telOp($getal1, $getal2){
while ($getal1 <= $getal2){
echo $getal1++;
}
$resultaat = ($getal1 + $getal2);
return $resultaat;
}
$resultaat = telOp(5, 10);
print ($resultaat);

我是新的php,所以任何提示也会很感激!

问题是您在while循环之外添加数字。你也不应该总是加上上界。下面是修复后的代码:

<?php
function telOp($getal1, $getal2){
$resultaat=0;
while ($getal1 <= $getal2){

$resultaat = ($resultaat+ $getal1);
$getal1++;
}

return $resultaat;
}
$resultaat = telOp(5, 10);
print ($resultaat);

同时,这里有一个小提示,使它运行得更快。为了达到你想要的效果,你不需要遍历所有的数字,你可以使用一个数学公式,说前n个数字的和是n*(n+1)/2。所以本质上,如果你有两个数字a和b,想要计算a+(a+1)+…+(b-1)+b,你可以用这个公式计算前b个数的和,然后减去前a-1个数的和。

你已经很接近了。你需要在telOp函数中把这些数字加起来。这可以通过以下方式完成:

<?php
function telOp($getal1, $getal2){
$result = 0;
while ($getal1 <= $getal2){
$result += $getal1++;
}
return $result;
}
$resultaat = telOp(5, 10);
echo ($resultaat);

相关内容

  • 没有找到相关文章

最新更新