在数学中,自然数都是用于计数的正数,如1、2、3、4等。最小的自然数是 1。
目标: 编写一个 PHP 程序,返回从 1 到给定自然数 n 的自然数之和,(1 + 2 + 3 + ... + n).
方法1:使用 while 循环
下面的示例展示了如何使用 while 循环计算前 n 个自然数的和。
<?php
$n = 10;
$i = 1;
$sum = 0;
//计算1到n的和
while($i <= $n) {
$sum += $i;
$i++;
}
echo "总和是:$sum";
?>
上面的代码将给出以下输出:
总和是:55
方法 2:使用 for 循环
使用 for 循环也可以实现同样的效果。考虑下面的示例:
<?php
$n = 10;
$sum = 0;
//计算1到n的和
for($i = 1; $i <= $n; $i++)
$sum += $i;
echo "总和是:$sum";
?>
上面的代码将给出以下输出:
总和是:55
方法 3:使用递归
同样,递归可以
<?php
//递归函数
function Sum($n) {
if($n == 1)
return 1;
else
return ($n + Sum($n-1));
}
echo "前 10 个自然数的和:".Sum(10)."\n";
echo "前 20 个自然数的和:".Sum(20)."\n";
?>
上面的代码将给出以下输出:
前 10 个自然数的和:55
前 20 个自然数的和:210
方法4:使用数学公式
前 n 个自然数的和可以在数学上表示为:

<?php
$n = 10;
//计算1到n的和
$sum = $n*($n+1)/2;
echo "总和是:$sum";
?>
上面的代码将给出以下输出:
总和是:55