javascript问题 使用递归算法计算阶乘

JavaScript06

javascript问题 使用递归算法计算阶乘,第1张

具体假设法:设n=8

calc(8)=calc(7)*8

calc(7)=calc(6)*7

calc(6)=calc(5)*6

.......

calc(1)=calc(0)*1

calc(0)=1

依次带入:calc(8)=8*7*6*.....*1

function factorial(n){

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

}

factorial(5)//120

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

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

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