RosettaCodeData/Task/Ackermann-function/Draco/ackermann-function.draco

19 lines
369 B
Plaintext

/* Ackermann function */
proc ack(word m, n) word:
if m=0 then n+1
elif n=0 then ack(m-1, 1)
else ack(m-1, ack(m, n-1))
fi
corp;
/* Write a table of Ackermann values */
proc nonrec main() void:
byte m, n;
for m from 0 upto 3 do
for n from 0 upto 8 do
write(ack(m,n) : 5)
od;
writeln()
od
corp