救命!计划(找到金额和产品的程序)

时间:2011-01-05 02:40:47

标签: scheme sum product

(define sp
  (lambda (l) 
    (if (null? l)
        '(0 1)
        (let ((v (sp (cdr l))))
          (list (+ (car l) (car v)) (* (car l) (car v)))))))

我的功能出了什么问题?

1 个答案:

答案 0 :(得分:2)

sp函数的返回值是一个双元素列表。第一个元素(car v)是部分和;第二个元素(cadr v)是部分产品。您在总和和产品计算中都使用了部分和。