本文目录一览:
php计算1到8的阶乘1!+2!+3!+......+8!
//php计算1到8的阶乘1!+2!+3!+......+8!
$sum = 0;
for ($i = 1; $i 9; $i++) {
$sum += jc($i);
}
echo $sum;
// 计算一个数的阶乘函数
function jc($num){
$tmp = 1;
$tmp2 = $tmp;
for ($i=1; $i $num; $i++) {
if( $tmp $num){
$tmp2 *= ($tmp+1);
++$tmp;
}
}
return $tmp2;
}
望采纳,谢谢。
怎么用递归函数算阶乘?
代码如下:
vim test.sh
#!/bin/bash
read -p "Num:" num #read 函数读取手动输入一个数值
result=1 #首先定义一个变量值为1
for i in `seq $num` #i在num 中从小到大依次取值
do
result=$[ $result * $i ]
done
echo "The result is: $result"
扩展资料
递归函数的作用和循环的方法效果一样,即递归函数本质上是一个方法的循环调用,注意:有可能会出现死循环。因此,使用递归函数时,一定要定义递归的边界(即什么时候退出循环)。
来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出:
fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n
所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理。
于是,fact(n)用递归的方式写出来就是:
def fact(n):
if n==1: return 1
return n * fact(n - 1)
参考资料来源:
百度百科——递归函数
急!用php 递归法求n的阶乘
?php
function f($n)
{
$out = -1;
if($n0)
echo "输入不能是负数";
else if($n==0||$n==1)
$out=1;
else $out=f($n-1)*$n;
return $out;
}
echo f(6);
?