# Ackermann Function

Ackermann Function in Snap*!* (works)

This custom block is great, but I've never heard of the Ackermann Function. What does it do? I can't tell by looking at the block definition.

Can I get url?

It's known for it's big numbers. A(3,4) is 125 while A(4,2) is a number with 19728 digits! A(4,2) is equal to 2^^5 where "^^" is repeated exponentiation or tetration. You can find out on the googology wiki.

drag this into the editor in the "Scripts" tab.

I still don't understand. I asked what the Ackermann Function does, not what it is. How does A(4,2) become 2^^5? I know what tetration is though.

Can you give me an example that isn't so long? You know A(4,2) is already too big to write. How about you explain what makes A(3,4) give 125? I'd like you to explain each step.

Why A(3,4) = 125... (Super long)
A(3, 4) | = | A(2, A(3, 3))
| = | A(2, A(2, A(3, 2)))
| = | A(2, A(2, A(2, A(3, 1))))
| = | A(2, A(2, A(2, A(2, A(3, 0)))))
| = | A(2, A(2, A(2, A(2, A(2, 1)))))
| = | A(2, A(2, A(2, A(2, A(1, A(2, 0))))))
| = | A(2, A(2, A(2, A(2, A(1, A(1, 1))))))
| = | A(2, A(2, A(2, A(2, A(1, A(0, A(1, 0)))))))
| = | A(2, A(2, A(2, A(2, A(1, A(0, A(0, 1)))))))
| = | A(2, A(2, A(2, A(2, A(1, A(0, 2))))))
| = | A(2, A(2, A(2, A(2, A(1, 3)))))
| = | A(2, A(2, A(2, A(2, A(0, A(1, 2))))))
| = | A(2, A(2, A(2, A(2, A(0, A(0, A(1, 1)))))))
| = | A(2, A(2, A(2, A(2, A(0, A(0, A(0, A(1, 0))))))))
| = | A(2, A(2, A(2, A(2, A(0, A(0, A(0, A(0, 1))))))))
| = | A(2, A(2, A(2, A(2, A(0, A(0, A(0, 2)))))))
| = | A(2, A(2, A(2, A(2, A(0, A(0, 3))))))
| = | A(2, A(2, A(2, A(2, A(0, 4)))))
| = | A(2, A(2, A(2, A(2, 5))))
| = | A(2, A(2, A(2, A(1, A(2, 4)))))
| = | A(2, A(2, A(2, A(1, A(1, A(2, 3))))))
| = | A(2, A(2, A(2, A(1, A(1, A(1, A(2, 2)))))))
| = | A(2, A(2, A(2, A(1, A(1, A(1, A(1, A(2, 1))))))))
| = | A(2, A(2, A(2, A(1, A(1, A(1, A(1, A(1, A(2, 0)))))))))
| = | A(2, A(2, A(2, A(1, A(1, A(1, A(1, A(1, A(1, 1)))))))))
And so on...
The Ackermann function may look simple on the outside, but here is in the inside, even if it computes such a small number like 125.
Also, here is the website i used:
A(3,4) Complication

I think I get it now, but only positivies.

Because A(3,4) has both m>0 and n>0 so:
X m = 0
X m>0 and n = 0
so:
A(2,A(3,3))
Because it says:
A(m-1,A(m,n-1))
So it complicates to an intense level.
Then:
X m = 0
X m>0 and n = 0
so:
A(2,A(2,A(3,2)))
X m = 0
X m>0 and n = 0
so:
A(2,A(2,A(2,A(3,1))))
X m = 0
X m>0 and n = 0
so:
A(2,A(2,A(2,A(2,A(3,0)))))
X m = 0
V m>0 and n = 0
so:
A(m-1,1)
A(2,A(2,A(2,A(2,A(2,1)))))

What about negative numbers? What does A(-3,-4) report, -125?

it only reports positive numbers

It's probably gonna report infinity since -3 is less than zero and lest than what's greater than zero.

Also it's only for integers too, so basically only whole numbers.

Oh.

In the operator block i made, when inputting A(1,1) it reports 3, when inputted A(-1,1) it goes infinitely, and when inputted A(1.5,1) it also goes infinitely.

ok