ack.exs 259 B

1234567891011121314
  1. defmodule Ackermann do
  2. def ack(0, n), do: n + 1
  3. def ack(m, 0), do: ack(m - 1, 1)
  4. def ack(m, n), do: ack(m - 1, ack(m, n - 1))
  5. end
  6. [n | tail] = System.argv
  7. [m | _] = tail
  8. {n, _} = Integer.parse(n)
  9. {m, _} = Integer.parse(m)
  10. IO.puts Ackermann.ack(n, m)