gpt4 book ai didi

JavaScript 阶乘递归

转载 作者:行者123 更新时间:2023-11-30 07:37:42 28 4
gpt4 key购买 nike

在下面的脚本中,为什么 badFactorial 炸毁堆栈而 goodFactorial 正常工作?

function badFactorial(n){
if( n < 0){
return 1;
}
if(n < 2){
return n;
}
return badFactorial(n * (n-1));
}
function goodFactorial(n){
if(n < 2){
return n;
}
return goodFactorial(n-1) * n;
}

最佳答案

你创建了一个无限循环

badFactorial(n * (n-1));

它只会不断增加。

假设您通过了 7 。你不是在减少,而是在做

返回 badfactorial(7 * 6)

当你想要的时候:

返回 badfactorial(6) * 7;

所以把返回改成你是 goodfactorial 的样子,

badfactorial(n-1) * n;

关于JavaScript 阶乘递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27318492/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com