20 lines
473 B
Plaintext
20 lines
473 B
Plaintext
class MAIN is
|
|
|
|
ackermann(m, n:INTI):INTI is
|
|
zero ::= 0.inti; -- to avoid type conversion each time
|
|
one ::= 1.inti;
|
|
if m = zero then return n + one; end;
|
|
if n = zero then return ackermann(m-one, one); end;
|
|
return ackermann(m-one, ackermann(m, n-one));
|
|
end;
|
|
|
|
main is
|
|
n, m :INT;
|
|
loop n := 0.upto!(6);
|
|
loop m := 0.upto!(3);
|
|
#OUT + "A(" + m + ", " + n + ") = " + ackermann(m.inti, n.inti) + "\n";
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|