我需要解释以下用于计算列表组合的代码如何工作。
(define combs L k)
(cond ((= 0 k)
'(()))
((null? L)
'())
(else
(append (map (λ (x) (cons (car L) x))
(combs (cdr L) (- k 1)))
(combs (cdr L) k))))))
答案 0 :(得分:0)
'(())
。'()
。(car L)
和第2项的答案是只组合来自k
的{{1}}个元素
对于第1项,请构建(cdr L)
中k - 1
元素的组合,然后将(cdr L)
添加到每个元素。