正整数的阶乘是所有小于或等于该数字的正整数的乘积。
数字的阶乘n = n! = n(n-1)(n-2)...1
例如:
5! = 5 × 4 × 3 × 2 × 1 = 120
4! = 4 × 3 × 2 × 1 = 24
方法 1:使用递归方法
在下面的示例中,名为 factorial()的递归函数用于计算数字的阶乘。
<?php
function factorial($x) {
if ($x == 0 || $x == 1)
return 1;
else
return $x*factorial($x-1);
}
echo "10! = ".factorial(10)."\n";
echo "6! = ".factorial(6)."\n";
?>
上面的代码将给出以下输出:
10! = 3628800
6! = 720
方法 2:使用迭代方法
数字的阶乘也可以使用迭代方法计算。
<?php
function factorial($x) {
$finalnum = 1;
for($i = $x; $i > 0; $i--) {
$finalnum = $finalnum * $i;
}
return $finalnum;
}
echo "10! = ".factorial(10)."\n";
echo "6! = ".factorial(6)."\n";
?>
上面的代码将给出以下输出:
10! = 3628800
6! = 720
方法3:使用三元运算符
在下面的示例中,使用三元运算符计算数字的阶乘。
<?php
function factorial($x) {
$y = ($x == 0 || $x == 1)? 1 : $x*factorial($x-1);
return $y;
}
echo "10! = ".factorial(10)."\n";
echo "6! = ".factorial(6)."\n";
?>
上面的代码将给出以下输出:
10! = 3628800
6! = 720