2015-02-20 00:35:01 -05:00
|
|
|
defmodule Ackermann do
|
|
|
|
|
def ack(0, n), do: n + 1
|
|
|
|
|
def ack(m, 0), do: ack(m - 1, 1)
|
|
|
|
|
def ack(m, n), do: ack(m - 1, ack(m, n - 1))
|
|
|
|
|
end
|
2015-11-18 06:14:39 +00:00
|
|
|
|
|
|
|
|
Enum.each(0..3, fn m ->
|
|
|
|
|
IO.puts Enum.map_join(0..6, " ", fn n -> Ackermann.ack(m, n) end)
|
|
|
|
|
end)
|