php递归函数阶乘,PHP递归算法

发布时间:2022-11-30

本文目录一览:

  1. php计算1到8的阶乘1!+2!+3!+......+8!
  2. 怎么用递归函数算阶乘?
  3. 急!用php 递归法求n的阶乘

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);
?>