24 lines
476 B
Plaintext
24 lines
476 B
Plaintext
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
|