VAD*_*ADO 1 javascript math factorial
我正在参加freecodecamp课程,这是创建一个Factorialize函数的练习之一,我知道有几种方法可以做到这一点,不知道这个是什么让人不断回归5
function factorialize(num) {
var myMax = num;
var myCounter = 1;
var myTotal = 0;
for (i = 0; i>= myMax; i++) {
num = myCounter * (myCounter + 1);
myCounter++;
}
return num;
}
factorialize(5);
Run Code Online (Sandbox Code Playgroud)
这是您问题的递归解决方案:
function factorialize(num) {
if(num <= 1) {
return num
} else {
return num * factorialize(num-1)
}
}
factorialize(5)
Run Code Online (Sandbox Code Playgroud)
这是迭代解决方案:
function factorialize(num) {
var cnt = 1;
for (var i = 1; i <= num ; i++) {
cnt *= i;
}
return cnt;
}
factorialize(5)
Run Code Online (Sandbox Code Playgroud)
用参数5,它将返回5!或120.