RosettaCodeData/Task/Ackermann-function/Nit/ackermann-function.nit
2017-09-25 22:28:19 +02:00

18 lines
309 B
Text

# Task: Ackermann function
#
# A simple straightforward recursive implementation.
module ackermann_function
fun ack(m, n: Int): Int
do
if m == 0 then return n + 1
if n == 0 then return ack(m-1,1)
return ack(m-1, ack(m, n-1))
end
for m in [0..3] do
for n in [0..6] do
print ack(m,n)
end
print ""
end