Scheme 帮助方案(求和与积的方案)

Scheme 帮助方案(求和与积的方案),scheme,sum,product,Scheme,Sum,Product,我的函数有什么问题?来自sp函数的返回值是一个两元素列表。第一个元素(car v)是部分和;第二个元素(cadr v)是部分积。您在求和和和乘积计算中都使用了部分和。您认为它有什么问题?它不起作用。当我们在乘积中将(car v)更改为(cadr v)时,它起作用。那么,您已经回答了自己的问题。 (define sp (lambda (l) (if (null? l) '(0 1) (let ((v (sp (cdr l)))) (

我的函数有什么问题?

来自
sp
函数的返回值是一个两元素列表。第一个元素
(car v)
是部分和;第二个元素
(cadr v)
是部分积。您在求和和和乘积计算中都使用了部分和。

您认为它有什么问题?它不起作用。当我们在乘积中将(car v)更改为(cadr v)时,它起作用。那么,您已经回答了自己的问题。
(define sp
  (lambda (l) 
    (if (null? l)
        '(0 1)
        (let ((v (sp (cdr l))))
          (list (+ (car l) (car v)) (* (car l) (car v)))))))