需求
给出num,实现num的阶乘
factorialize(5) should return 120
思路
递归函数
条件语句停止递归
代码1:
function factorialize(num) {
if(num === 0){
return 1;
}
return num * factorialize(num-1);
}
factorialize(5);
代码2(楼下道友的尾递归代码):
function factorial(n, total = 1) {
if (n === 1) return total;
return factorial(n - 1, n * total);
}
factorial(5) // 120
相关链接:
有其他好的方法或思路的道友,不妨在沙发区神交一番。