Module:Ackermann

Revision as of 20:34, 26 April 2023 by Hanss314 (talk | contribs) (Created page with "p = {} function p.ackermann(m, n) if m == 0 then return n + 1 elseif n == 0 then return p.ackermann(m-1,1) else return p.ackermann(m-1, p.ackermann(m, n-1))...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Ackermann/doc

p = {}

function p.ackermann(m, n)
    if m == 0 then
    	return n + 1
    elseif n == 0 then
		return p.ackermann(m-1,1)
	else
		return p.ackermann(m-1, p.ackermann(m, n-1))
	end
       
end

function p.invoke(frame)
    return p.ackermann(frame.args[1], frame.args[2])
end

return p