Помогите!Схема (программа, которая находит сумму и продукт) - PullRequest
0 голосов
/ 05 января 2011
(define sp
  (lambda (l) 
    (if (null? l)
        '(0 1)
        (let ((v (sp (cdr l))))
          (list (+ (car l) (car v)) (* (car l) (car v)))))))

Что не так в моей функции?

1 Ответ

2 голосов
/ 05 января 2011

Возвращаемое значение из вашей функции sp представляет собой двухэлементный список. Первый элемент (car v) является частичной суммой; второй элемент (cadr v) является частичным произведением. Вы используете частичную сумму как при расчете суммы, так и при расчете продукта.

...