我需要整理一下算法

时间:2019-07-17 00:18:31

标签: javascript

能否请您帮忙。

如何回答这个问题?

我需要您的帮助

function factorial(n) {
  if (n === 0) { 
    return 1;
  } else {
    return n * n  ;
  }
}

factorial(6)

这是不对的。我需要使用Loop javascript编写代码。

  

获取n的阶乘。 n的继承数是1到n乘以所有数字。

示例)

答案应该是这样

factorial(4); // => 24
factorial(5); // => 120

1 个答案:

答案 0 :(得分:0)

一种方法是使用简单的for循环。

var answer = 1;
for(var i = 2; i <= n; i++)
{
    answer *= i;
}

return answer;

您还可以通过将输入值乘以先前值的结果来递归地执行此操作。

function factorial(n){
    if(n <= 1) return 1;
    return n * factorial(n-1);
}