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

  1. Die Closure * + * + * addiert die drei vorigen Elemente, um das nächste zu erzeugen, es braucht also drei Anfangswerte.

  2. Die Folge ist träge, sie in @trib abzulegen und nach @trib[^8] zu fragen berechnet also nur die ersten acht Zahlen.

Kursnavigation

Die Tribonacci-Folge   |   Nebenläufige Programmierung