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()