2011-01-05 32 views
-1
(define sp 
    (lambda (l) 
    (if (null? l) 
     '(0 1) 
     (let ((v (sp (cdr l)))) 
      (list (+ (car l) (car v)) (* (car l) (car v))))))) 

我的功能有什麼問題?幫助!方案(尋找金額和產品的方案)

+1

你認爲它有什麼問題嗎? – 2011-01-05 02:45:48

+0

它不起作用,當我們在產品中將(汽車v)更改爲(cadr v)時,它就起作用。 – 2011-01-05 02:48:03

+1

那麼你已經回答了你自己的問題。 – 2011-01-05 03:50:17

回答

2

您的sp函數的返回值是一個雙元素列表。第一個元素(car v)是部分和;第二個元素(cadr v)是部分產品。您正在使用總和和產品計算中的部分總和。

+0

謝謝格雷格。這是真的。 – 2011-01-05 16:15:44