RosettaCodeData/Task/Ackermann-function/Julia/ackermann-function.julia

13 lines
209 B
Plaintext

function ack(m,n)
if m == 0
return n + 1
elseif n == 0
return ack(m-1,1)
else
return ack(m-1,ack(m,n-1))
end
end
#One-liner
ack2(m,n) = m == 0 ? n + 1 : n == 0 ? ack2(m-1,1) : ack2(m-1,ack2(m,n-1))