gpt4 book ai didi

numbers - Scheme Lisp 程序求 n 个偶数的和

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

我需要创建一个函数来计算从 0 开始的前 n 个偶数的总和(即 (even-sum 4) 将返回 12)。

  (define (even-sum n)
(cond
((= n 0) 0)
((= n 1) 0)
(else (+ (* n 2) (even-sum (- n 2 ))))))

这是我到目前为止所拥有的,它适用于 (even-sum 4) 但不适用于其他情况,(even-sum 6) 应该是 30 但是到 24,(even-sum 2) 应该是 2 但结果是 4。

最佳答案

您可以通过应用此公式(参见 Wikipedia)计算等差级数的前 n 个数字的总和:

(define (arithmetic-series step n)
(let ((an (+ 2 (* step (- n 1)))))
(/ (* (+ 2 an) n) 2)))

(arithmetic-series 2 20)
=> 420

但是,如果将 d 替换为 2,则公式会更简单。

(编辑:参见 Will Ness 的 comment)

关于numbers - Scheme Lisp 程序求 n 个偶数的和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48569702/

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