@evev: Die `fibon()`-Funktion berechnet die Zahl für das gegebene `n` (falls noch nicht in `known` vorhanden) und trägt sie in `known` ein. Dazu muss sie alle vorhergehenden Zahlen berechnen, weil die ja aufaddiert werden. Dazu ruft `fibon()` die Funktion `fibon()` für die beiden Vorgängerwerte auf, die in der Funktion `fibon()` berechnet und in `known` eingetragen werden. Dazu ruft `fibon()` die Funktion `fibon()` für die beiden Vorgängerwerte auf, die in der Funktion `fibon()` berechnet und in `known` eingetragen werden. Dazu ruft `fibon()` die Funktion `fibon()` für die beiden Vorgängerwerte auf, die in der Funktion `fibon()` berechnet und in `known` eingetragen werden. Dazu ruft `fibon()` die Funktion `fibon()` für die beiden Vorgängerwerte auf, die in der Funktion `fibon()` berechnet und in `known` eingetragen werden. Dazu ruft `fibon()` die Funktion `fibon()` für die beiden Vorgängerwerte auf, die in der Funktion `fibon()` berechnet und in `known` eingetragen werden…
Und so stehen am Ende dann alle Zahlen in `known`, denn die wurden für den ersten Aufruf von `fibon()` letztlich alle benötigt und dementsprechend auch berechnet. Vollzieh das am besten mal auf einem Blatt Papier nach. Vielleicht mit einer kleineren Zahl als 30. 4 oder 5 wäre gut.
Du solltest halt nicht `known` ausgeben, sondern den Rückgabewert von ``fibon(30)``, mit dem Du im Moment gar nichts machst und einfach ”verfallen” lässt.