Dreistein

 


* Startseite     * Über...     * Archiv     * Gästebuch     * Kontakt



* Themen
     Willkommen
     Allgemeines
     * Variablen
     * Function
     * Procedure
     * String
     * Array
     FormObjekte
     * Button
     * CheckBox
     * Editfeld
     * Label
     * Listbox
     * RadioButton
     * Timer
     * Turtle
     Sortieralgorithmen
     * Arraysort
     * Bubblesort
     * Selection Sort
     * Quicksort
     Schleifen
     * repeat-Schleife
     * while-Schleife
     * for-Schleife
     Rekursion
     * Ackermann
     * Binominalkoeffizent
     * Fibonacci Zahlen
     * Fakultät
     * GGT
     * Kochfunktion
     * Sierpinskifunktion
     Nützliches
     * Hintergrundbild
     * Massenanzeige
     * Massenbenutzung
     * Schreibtischtest






* Ackermann

Anzahl Schritte

0,0---2
0,1---2
0,2---2
0,3---3
0,4---4

1,0---3
1,1---5
1,2---7
1,3---9
1,4---11

2,0---6
2,1---15
2,2---28
2,3---45
2,4---66

3,0---16
3,1---107
3,2---542
3,3---2433
3,4---10308

4,0---108
4,1--- Schafft mein Pc nicht mehr

Man sieht also, das die Funktion schon sehr schnell nicht mehr berechenbar ist
24.11.05 23:02


Ackermann (2,3) im Schreibtischtest

Einmal ausf?hrlich beschrieben, dabei wird immer das Ergebnis ausgegeben, allerdings nicht die Unterpunkte:

2,3
2,2
2,1
2,0
1,1
1,0
0,1
0,2
1,3
1,2
1,1
1,0
0,1
0,2
0,3
0,4
1,5
1,4
1,3
1,2
1,1
1,0
0,1
0,2
0,3
0,4
0,5
0,6
1,7
1,6
1,5
1,4
1,3
1,2
1,1
1,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9

Damit ist der Ackermann von 2,3 = 9. Wie man sieht, sind ganz sch?n viel Schritte n?tig.
22.11.05 14:42


Quelltext

function ack(m, n: Integer): Longint;
begin
if m = 0 then
result := n+1
else
if n = 0 then
result := ack(m - 1, 1)
else
result := ack(m - 1, ack(m, n - 1))
end;
22.11.05 14:37





Verantwortlich für die Inhalte ist der Autor. Dein kostenloses Blog bei myblog.de! Datenschutzerklärung
Werbung