Question

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

Quel est le problème dans ma fonction?

Était-ce utile?

La solution

La valeur de retour de votre fonction sp est une liste à deux éléments. Le premier (car v) de l'élément est la somme partielle; le deuxième élément de (cadr v) est le produit partiel. Vous utilisez la somme partielle à la fois dans le calcul de somme et de produit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top