0 Daumen
410 Aufrufe


function fib(n) {
if (n<2)
return n;
else
return fib(n-1) + fib(n-2);
}


A: Was für eine Porgrammierart wird hier für diese Funktion verwendet?
B: Beschreibe die Rechnungsschritte für fib(5) detailliert/schrittweise. Ergebnis?

Avatar von

1 Antwort

0 Daumen
A: Was für eine Porgrammierart wird hier für diese Funktion verwendet?

Das sagst Du bereits im Titel Deiner Frage: Zur Programmierung wird eine Rekursion verwendet. Dies erkennt man daran, dass sich die Funktion fib selbst aufruft.

B: Beschreibe die Rechnungsschritte für fib(5) detailliert/schrittweise. Ergebnis?

Berechnet werden hier die Glieder der Fibonacci-Folge. Es gibt zwei Startglieder \(f_0=0\) und \(f_1=1\). Das Bildungsgesetz für die Fibonacci-Folge lautet: \(f_n=f_{n−1}+f_{n−2}\). Daraus ergeben sich die Folgenglieder \(0, 1, 1, 2, 3, 5, 8, ...\) Dies erkennt man auch in dem Programm:

Die Startglieder (\(0\) und \(1\)) werden folgendermaßen durch die Funktion erzeugt: if (n<2){return n;}

Die übrigen Folgenglieder werden wie folgt berechnet: return fib(n-1) + fib(n-2);

fib(5) berechnet das Fibonacci-Folgenglied \(f_n\). Dementsprechend ist fib(5) = \(f_5\) = \(5\).

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community