Sudan function: Difference between revisions
Content added Content deleted
Line 616: | Line 616: | ||
</syntaxhighlight> |
</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}}== |
=={{header|Julia}}== |
||
<syntaxhighlight lang="julia">using Memoize |
<syntaxhighlight lang="julia">using Memoize |