本文目录一览:
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($n < 0)
echo "输入不能是负数";
else if($n == 0 || $n == 1)
$out = 1;
else
$out = f($n - 1) * $n;
return $out;
}
echo f(6);
?>