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

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