2024-03-11 10:34:40 +01:00
|
|
|
# Lösung: Tail-Recursion
|
2024-03-11 10:32:49 +01:00
|
|
|
|
2024-03-11 10:39:04 +01:00
|
|
|
|
2024-03-11 10:41:23 +01:00
|
|
|
```clojure
|
|
|
|
(defn prod-recur
|
2024-03-11 10:39:04 +01:00
|
|
|
"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)))
|
|
|
|
|
|
|
|
```
|