编写一个js函数用来求n的阶乘

JavaScript012

编写一个js函数用来求n的阶乘,第1张

function factorial(n){

    return n > 1 ? n * factorial(n-1) : 1

}

factorial(5)//120

以上函数可以求简单的n的阶乘

由于使用的是原生的乘法,所以计算范围有限

主要使用了递归的方式进行计算,是求阶乘的常用方法之一

计算阶乘不一定要用递归, 但你提到了思路就

假设有个函数 F(x) 接受一个数, 返回它的阶乘结果

那麽通过定义可发现如下推导式

F(x) = x * F(x - 1)

又F(0) = F(1) = 1

然後把以上式子转化为代码即可

jiecheng(105)

function jiecheng(num){

    var sum = 1

    for(var i = 1i<=numi++){

        sum*=i

    }

    document.write(sum)

}