Jump to content

Sudan function: Difference between revisions

Added Lua version
m (→‎{{header|Pascal}}: forget "Free " in sub- header)
(Added Lua version)
Line 1,259:
sudan(2, 2, 1) = 27
</pre>
 
=={{header|Lua}}==
<syntaxhighlight lang="lua">function F (n, x, y)
if n == 0 then
return x + y
elseif y == 0 then
return x
else
return F(n - 1, F(n, x, y - 1), F(n, x, y - 1) + y)
end
end
 
local testCases = {
{0, 0, 0},
{1, 1, 1},
{1, 3, 3},
{2, 1, 1},
{2, 2, 1},
{3, 1, 1}
}
 
for _, v in pairs(testCases) do
io.write("F(" .. table.concat(v, ",") .. ") = ")
print(F(unpack(v)))
end</syntaxhighlight>
{{out}}
<pre>F(0,0,0) = 0
F(1,1,1) = 3
F(1,3,3) = 35
F(2,1,1) = 8
F(2,2,1) = 27
F(3,1,1) = 10228</pre>
 
=={{header|MAD}}==
31

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.