Sudan function: Difference between revisions

Line 616:
</syntaxhighlight>
 
=={{header|jq}}==
<syntaxhighlight lang=jq>
def sudan(n;x;y):
if n == 0 then x+y
elif y == 0 then x
else sudan(n-1; sudan(n;x;y-1); sudan(n;x;y-1) + y)
end;
 
# For testing and syntactic convenience:
def sudan:
"sudan(\(.[0]); \(.[1]); \(.[2])) => \(sudan(.[0]; .[1]; .[2]))";
 
# Illustrations
[0,0,0], [1,1,1], [2,1,1], [3,1,1], [2,2,1]
| sudan
</syntaxhighlight>
{{Output}}
<pre>
sudan(0; 0; 0) => 0
sudan(1; 1; 1) => 3
sudan(2; 1; 1) => 8
sudan(3; 1; 1) => 10228
sudan(2; 2; 1) => 27
</pre>
=={{header|Julia}}==
<syntaxhighlight lang="julia">using Memoize
2,464

edits