【发布时间】:2018-10-02 17:32:45
【问题描述】:
我正在尝试编写一个 Scheme 函数,它接受两个参数,一个数字列表和另一个数字,如果列表的一个子集加起来等于该数字,则返回 true。
示例输出:
> (groupSum '(1 2 5) 7)
> #t
> (groupSum '(1 2 5) 4)
> f
到目前为止,我所能做的就是得到一个列表中所有数字的总和。我需要如何处理我的代码才能到达示例输出?
到目前为止,这是我的代码:
(define (groupSum elemList)
(if
(null? elemList)
0
(+ (car elemList) (groupSum (cdr elemList)))
))
我的代码返回的内容:
> (groupSum '(1 2 5))
> 8
【问题讨论】: