编写For循环以评估因子

时间:2015-06-27 14:45:04

标签: javascript loops

我正在尝试编写一个函数,它将返回作为输入给出的任何数字的阶乘。现在,我的代码绝对是一团糟。请帮忙。

function factorialize(num) {
  for (var i=num, i>0, i--){
    var result = 1;
    result = result * i;
  }
  return result;

}

factorialize(5);

2 个答案:

答案 0 :(得分:1)

应该是这样的

 function factorialize(num){
     var result = 1;

  for(var i = num ; i >0 ; i--) {

     result = result * i ;

    }
   return result;

}

你也可以使用递归来实现这个

 function fact(num) {

   if(num > 1) 

         return num * fact(num-1);
else
     return 1;

}

答案 1 :(得分:0)

function factorialize(num) {
    var result = 1;
    while (num) {
        result *= num;
        num--;
    }
    return result;
}

factorialize(5);

// or a very short version:
function f(n) { return +!~-n || n * f(n - 1); }