0 Daumen
620 Aufrufe
wie kann es bei dieser Funktion denn sein, das der Wert 65536 herauskommt, wenn x=2 und y=4 ?

Algorithm Ackermann (x, y):

Input: natuerliche Zahlen x, y

Output: Ackermann-Zahl

if (y = 0) then 0

if (x = 0) then 2*y

if (y = 1) then 2

else Ackermann(x-1, Ackermann(x, y-1))
Avatar von
Output: Ackermann-Zahl

if (y = 0) then 0

if (x = 0) then 2*y

if (y = 1) then 2

else Ackermann(x-1, Ackermann(x, y-1))

Acker (2,4)

= Acker (1, Acker(2,3))

= Acker(1, Acker(1, Acker(2,2)))

= Acker(1, Acker(1, Acker (1, Acker (2,1))))
= Acker(1, Acker(1, Acker(1, 2)))

=Acker(1, Acker(1, Acker(0,Acker(1,1))))

= Acker(1, Acker(1, Acker(0, 2)))

= Acker(1, Acker(1, 4))

= Acker(1, Acker(0, Acker(1,3)))

Schau mal, ob du das bis hier auch so verstehst. Rechne nach, korrigiere und rechne dann weiter.

1 Antwort

0 Daumen
 
Beste Antwort

Output: Ackermann-Zahl

if (y = 0) then 0

if (x = 0) then 2*y

if (y = 1) then 2

else Ackermann(x-1, Ackermann(x, y-1))


Acker (2,4)

= Acker (1, Acker(2,3))

= Acker(1, Acker(1, Acker(2,2)))

= Acker(1, Acker(1, Acker (1, Acker (2,1))))
= Acker(1, Acker(1, Acker(1, 2)))

=Acker(1, Acker(1, Acker(0,Acker(1,1))))

= Acker(1, Acker(1, Acker(0, 2)))

= Acker(1, Acker(1, 4))

= Acker(1, Acker(0, Acker(1,3)))

Schau mal, ob du das bis hier auch so verstehst. Rechne nach, korrigiere und rechne dann weiter.

Gemäss

https://www.wolframalpha.com/input/?i=Ackermann%282%2C4%29

Sollte aber 11 rauskommen.

Allerdings haben die dort eine etwas andere Definition. Oder? http://mathworld.wolfram.com/AckermannFunction.html

Avatar von 162 k 🚀

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community