gpt4 book ai didi

scheme - 从 a 到 b 的所有整数的总和,我的代码有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:29 25 4
gpt4 key购买 nike

目标是创建一个代码来计算从 a 到 b 的所有整数的总和如果 a > b 那么它应该评估为 0。

(define (sum-from-to a b)
(if (> a b)
0
(+ a (sum-from-to (- a 1) b))))

我的问题是,当我运行它时,内存不足。我的代码有什么问题?

最佳答案

递归步骤不正确。假设a <= b修复就这么简单:

(define (sum-from-to a b)
(if (> a b)
0
(+ a (sum-from-to (+ a 1) b)))) ; add 1, don't subtract

想想,我们要a变得更接近b在每一步,直到它跳过它。如果我们减少 a , 然后它将远离 b ,与我们想要的完全相反。这就是您的程序内存不足的原因,a从未达到b .

关于scheme - 从 a 到 b 的所有整数的总和,我的代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54843473/

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