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

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