RosettaCodeData/Task/Ackermann-function/SETL/ackermann-function.setl

12 lines
196 B
Plaintext

program ackermann;
(for m in [0..3])
print(+/ [rpad('' + ack(m, n), 4): n in [0..6]]);
end;
proc ack(m, n);
return {[0,n+1]}(m) ? ack(m-1, {[0,1]}(n) ? ack(m, n-1));
end proc;
end program;