一个数字的因子化

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)

And*_*dro 5

这是您问题的递归解决方案:

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.