Im 2009er Jahr habe ich schon mal darüber geschrieben, immer noch sehr schön, finde ich. Lang ist es her, das war ja noch vor meiner Unizeit. Inzwischen ist die Ackermannfunktion als Beispiel für Rekursion im aktuellen Schulbuch, und weil die Schüler und Schülerinnen dann auch wissen wollen, was es damit auf sich hat, habe ich eine Präsentation dazu erstellt.
Spoiler: Die Ackermann-Péter-Funktion sieht so aus, in Java:
public int ack(int n, int m) {
if (n == 0) return m + 1;
else if (m == 0) return ack(n-1, 1);
else return ack(n-1, ack(n, m-1));
}
Da, das war es schon. Programmieren lässt sich das leicht; in der Praxis wird da eher long
als int
stehen oder sogar etwas wie BigInteger
, weil es um recht große Zahlen dabei geht, aber mit int
ist man vielleicht vertrauter. Verstehen ist schwieriger als Programmieren.
Es hat aber eine besondere Bewandnis mit dieser unscheinbaren Funktion. Und die habe ich so kurz wie möglich anhand der Präsentation zu erklären versucht, aber eine Viertelstunde ist es doch geworden:
Schreibe einen Kommentar