25 lines
567 B
Plaintext
25 lines
567 B
Plaintext
/* NetRexx */
|
|
options replace format comments java crossref symbols binary
|
|
|
|
numeric digits 66
|
|
|
|
parse arg j_ k_ .
|
|
if j_ = '' | j_ = '.' | \j_.datatype('w') then j_ = 3
|
|
if k_ = '' | k_ = '.' | \k_.datatype('w') then k_ = 5
|
|
|
|
loop m_ = 0 to j_
|
|
say
|
|
loop n_ = 0 to k_
|
|
say 'ackermann('m_','n_') =' ackermann(m_, n_).right(5)
|
|
end n_
|
|
end m_
|
|
return
|
|
|
|
method ackermann(m, n) public static
|
|
select
|
|
when m = 0 then rval = n + 1
|
|
when n = 0 then rval = ackermann(m - 1, 1)
|
|
otherwise rval = ackermann(m - 1, ackermann(m, n - 1))
|
|
end
|
|
return rval
|