RosettaCodeData/Task/Ackermann-function/Erlang/ackermann-function.erl

10 lines
192 B
Erlang

-module(ackermann).
-export([ackermann/2]).
ackermann(0, N) ->
N+1;
ackermann(M, 0) ->
ackermann(M-1, 1);
ackermann(M, N) when M > 0 andalso N > 0 ->
ackermann(M-1, ackermann(M, N-1)).