fib
|
Definieren Sie eine Funktion fib zur Berechnung der
Fibonacci-Zahlen ab 0
|
fib2
|
Definieren Sie eine Funktion fib2, die lineare Laufzeit
besitzt.
|
|
|
collatz
|
Definieren Sie eine Funktion collatz, die berechnet
wieviele Rekursionsschritte benötigt werden, um
eine natürliche Zahl n >= 1 auf 1 zu
reduzieren.
Folgende Reduktionsregel sind dabei anzuwenden: Wenn n gerade ist,
so wird n halbiert, wenn n ungerade ist, so wird n verdreifacht und um
1 erhöht.
|
collatz1
|
Definieren Sie eine endrekursive Variante dieser Funktion.
|
|
|
cmax
|
Definieren Sie eine Funktion cmax, die für ein
Intervall von Zahlen das Maximum der
Collatz-Funktion berechnet. Nutzen Sie die
vordefinierten Funkt min und max.
|
|
|
imax
|
Definieren Sie eine Funktion imax, die für ein
Intervall von Zahlen das Maximum einer
ganzzahligen Funktion berechnet. Formulieren
Sie die obige Funktion cmax so um, dass sie mit imax arbeitet.
|
|
|
imax2
|
Entwickeln Sie eine Funktion die die Position und den Wert bestimmt, an der
das Maximum angenommen wird.
Versuchen Sie, eine endrekursive Lösung zu finden (mit einer lokalen Hilfsfunktion).
|