clear function acker=ackermann(m,n) global calls calls=calls+1 if m==0 then acker=n+1 else if n==0 then acker=ackermann(m-1,1) else acker=ackermann(m-1,ackermann(m,n-1)) end end endfunction function printacker(m,n) global calls calls=0 printf('ackermann(%d,%d)=',m,n) printf('%d calls=%d\n',ackermann(m,n),calls) endfunction maxi=3; maxj=6 for i=0:maxi for j=0:maxj printacker(i,j) end end