Die Fibonacci-Zahlen sind eine mathematische Folge, der der das Ergebnis für die Eingangszahl 'n' die Summe ihrer beiden Vorgänger ist, sofern die Eingangszahl > 2 ist. Die Folge lautet also: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, ...
Die Fibonacci-Zahlen beschreiben u.a. die Population einer Kaninchenzucht, sind aber auch Grundlage für alles Erschaffene.
Hier interessiert allerdings nicht die Anwendung der Fibonacci-Zahlen sonden lediglich der Umstand, dass diese Zahlenfolge gut geeignet ist, die Rekursion in Programmen einfach zu demonstrieren.
Hier der einfache Code dazu:
#include <iostream.h>
long fib(long n);
int main(void) { int n = 0; cout << "Fibonacci-Zahl berechnen. Für welche Zahl? " << flush; cin >> n; while (n > 0 && n < 42) cout << "Die Fibonacci-Zahl für " << n << " lautet: " << fib(n) << endl; }
long fib(long n) { if (n == 1 || n == 2) // fib(1) == fib(2) == 1 return 1; else return fib(n-1) + fib(n-2); // Rekursion... }
Die Funktion trägt den Namen 'fib'. Und was darin aufgerufen: 'fib'! Das ist Rekursion.
Führt man für das ganze jetzt mit einer Eingangszahl von 17 einen Schreibtischtest durch, sollte man das Papier auf jeden Fall hochkannt haben, da die Rekursionstiefe > n ist.
Viel Spass!
|