Rekursion II
Aus ProgrammingWiki
Archivierte Version vom 2012-06-25T12:10:04+00:00. Aktuelle Version
Inhaltsverzeichnis |
Die Fibonaccizahlen
Leonardo Fibonacci di Pisa (* um 1180; † 1241) beschrieb die Fortpflanzung von Kaninchen mit der Zahlenfolge:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Definition:
\mbox{fib}(n)=\begin{cases}1,\mbox{wenn}\hspace{0.3em}n=1\\1,\mbox{wenn}\hspace{0.3em}n=2\\\mbox{fib}(n-1)+\mbox{fib}(n-2),\mbox{sonst}\end{cases}
Beschreibung:
Die Kaninchenpaar bekommt nach zwei Monaten Nachwuchs (Pärchen!), dies dann jeden Monat. Die "Kinderpaare" verhalten sich genauso. Die Kaninchen leben "unendlich lange".
Das bedeutet:
- Die ersten beiden Glieder der Zahlenfolge sind jeweils 1.
- Jedes weitere Glied ergibt sich aus der Summe seiner beiden Vorgänger.
Prüfen!
siehe auch http://www.ijon.de/mathe/fibonacci/index.html
iterativ
Zunächst eine iterative Version:
rekursiv
Schreiben Sie nun eine rekursive Funktion gemäß der oberen Beschreibung:
Ackermann-Funktion
Die Ackermann-Funktion folgendermaßen definiert:
Definition:
Ack(0, y)=y+1
Ack(n +1, y+1) = Ack(n, Ack(n + 1, y))
Ack(n + 1, 0) = Ack(n, 1)
Informationen zur Ackermann-Funktion unter http://de.wikipedia.org/wiki/Ackermannfunktion