2011-01-05 3 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

무엇이 잘못 되었습니까? –

+0

제품에서 (자동차 v)를 (cadr v)로 변경하면 작동하지 않습니다. –

+1

당신은 당신 자신의 질문에 대답했습니다. –

답변

2

sp 함수의 반환 값은 두 요소 목록입니다. 첫 번째 요소 (car v)은 부분 합계입니다. 두 번째 요소 (cadr v)이 부분 곱입니다. 합계와 산술 계산에서 부분 합계를 사용하고 있습니다.

+0

그렉 고마워. 사실이야. –