我正在尝试编写一个函数,它将返回作为输入给出的任何数字的阶乘。现在,我的代码绝对是一团糟。请帮忙。
function factorialize(num) {
for (var i=num, i>0, i--){
var result = 1;
result = result * i;
}
return result;
}
factorialize(5);
答案 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); }