Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung / Lazy und unendliche Sequenzen / Exercises / Die Tribonacci-Folge
Lösung: Die Tribonacci-Folge
Hier ist eine mögliche Lösung der Aufgabe.
Code
my @trib = 1, 1, 1, * + * + * ... *;
say @trib[^8];🦋 Du findest den Quellcode in der Datei tribonacci.raku.
Ausgabe
(1 1 1 3 5 9 17 31)Kommentare
Die Closure
* + * + *addiert die drei vorigen Elemente, um das nächste zu erzeugen, es braucht also drei Anfangswerte.Die Folge ist träge, sie in
@tribabzulegen und nach@trib[^8]zu fragen berechnet also nur die ersten acht Zahlen.