Code: Alles auswählen
def aufsummieren(xs, n=1):
if xs:
return n * xs[0] + aufsummieren(xs[1:], n + 1)
else:
return 0
@Squaller: Man kann noch einen Namen einsparen. Entweder `zaehler` oder `x`.
OT: Zwei mögliche Lösungen in Logo:
Code: Alles auswählen
to aufsummieren :zahlen
output apply "sum map [# * ?] :zahlen
end
to aufsummieren :zahlen [:n 1]
output ifelse (emptyp :zahlen) ~
[0] ~
[(:n * first :zahlen) + (aufsummieren (butfirst :zahlen) (:n + 1))]
end