js编写代码计算5的阶乘。

JavaScript020

js编写代码计算5的阶乘。,第1张

    var i,n=1

    for(i=2i<6i++){//5!=1*2*3*4*5

     n*=i

    }

    console.log("5的阶乘是"+n)

function factorial(n){

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

}

factorial(5)//120

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

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

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

你的Javascript程序中for循环的循环变量i都没有定义,应该在相应的函数中定义,或者在for循环中定义(前面加var)就行了,你的Javascript程序我帮你改完了,你看看吧(改动的地方见注释)

<script type=text/javascript>

console.log(getFactorialSum(4))

function getFactorial(n){ 

 var factorial=1

 for(var i=ni>0i--){ //这里定义循环变量i,前面加var把for(i=ni>0i--)改成for(var i=ni>0i--)

  factorial*=i

 }

 return factorial

}

function getFactorialSum(n){ 

 var sum=0

 for(var i=0i<ni++){ //这里定义循环变量i,前面加var把for(i=0i<ni++)改成for(var i=0i<ni++)

  sum+=getFactorial(n-i)

 }

 return sum

}

</script>

运行结果

33