Ich versuche, eine Liste von Zahlen unter Verwendung der Rekursion in Schläger zu subtrahieren. Die Funktion geht wie:Subtraktion einer Liste von Zahlen im Racket
(define (sub lst)
(cond [(empty? lst) 0]
[ else (- (first lst) (sub (rest lst)))]))
Dies scheint nicht richtig zu sein als Schläger Subtraktion führt von links nach rechts. ZB:
(- 1 2 3 4 6)
soll -14 sein. Aber wenn ich es in der gleichen Weise mache, wie in der Liste durch Rekursion geben, wie (list 1 2 3 4 6)
gibt es das Ergebnis als 4. Wie kann ich das lösen?
Vielen Dank. Ich hab es geschafft. Also muss sich die Rekursion ändern? – user3607109
@ user3607109 Ja. Die Operation muss von links nach rechts statt von rechts nach links erfolgen, so wie Sie es gemacht haben. – Sylwester