29 lines
510 B
Plaintext
29 lines
510 B
Plaintext
sub ack(m, n)
|
|
if m=0 then
|
|
return n+1
|
|
elsif m=1 then
|
|
return n+2
|
|
elsif m=2 then
|
|
return 2*n+3
|
|
elsif m=3 then
|
|
return 2^(n+3)-3
|
|
elsif m>0 and n=0 then
|
|
return ack(m-1,1)
|
|
else
|
|
return ack(m-1,ack(m,n-1))
|
|
end if
|
|
end sub
|
|
|
|
sub Ackermann()
|
|
local i, j
|
|
for i=0 to 3
|
|
for j=0 to 10
|
|
print ack(i,j) using "#####";
|
|
next
|
|
print
|
|
next
|
|
print "ack(4,1) ";: print ack(4,1) using "#####"
|
|
end sub
|
|
|
|
Ackermann()
|