gpt4 book ai didi

javascript - 如何使用递归对给定整数以下的所有整数求和

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:30:31 24 4
gpt4 key购买 nike

马上,这不是家庭作业问题。我在空闲时间练习递归问题,但我仍在思考这个概念。我非常接近解决这个问题,但是当我将它们加在一起时,我无法弄清楚如何跳过根整数“n”。这是到目前为止的代码:

var sumBelow = function (n) {
console.log(n);
// base case
if (n === 0) {
console.log('we hit the base case');
return 0;
}
// initialize var to hold sum
if (!sum_sumBelow) var sum_sumBelow = 0;
// add numbers
sum_sumBelow = n + sumBelow(n - 1);
return sum_sumBelow;
};

console.log('answer is', sumBelow(4));

当我调用“sumBelow(4)”时,我想要的是 3+2+1,但我目前得到的是 4+3+2+1。

如何跳过根参数???

最佳答案

假设您正在正确打印所有内容,只是更改有什么问题:

sum_sumBelow = n + sumBelow(n - 1);

sum_sumBelow = n - 1 + sumBelow(n - 1);

在你的例子中; answer is 6 会在控制台输出3 + 2 + 1 你想要吗?

注意这绝不是最好的递归解决方案,但它仍然是一个。

这相当于 @RobG 提供的整个函数它使用三元:

function sumBelow(n) {return n ? n-1 + sumBelow(n-1) : 0}

关于javascript - 如何使用递归对给定整数以下的所有整数求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44298020/

24 4 0
文章推荐: javascript - 我想将来自 jquery $.ajax() 方法的响应放到 Bootstrap 弹出窗口模态中的目标
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com