clojure-uebungen/Assignment_010/solution/readme.md

323 B

Lösung: Tail-Recursion

(defn prod-recur
  "Berechnet das Produkt einer Reihe von Zahlen `zahlen` unter
  Verwendung von loop und recur."
  [zahlen]
  (loop [produkt    0
         rest-liste zahlen]
    (if (seq rest-liste)
      (recur (* produkt (first rest-liste)) (rest rest-liste))
      produkt)))