本文目錄一覽:
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);
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238645.html