Anonymous recursion: Difference between revisions

no edit summary
No edit summary
Line 1,091:
{{out}}
102334155
 
=={{header|EMal}}==
<syntaxhighlight lang="emal">
fun fibonacci = int by int n
if n < 0 do
logLine("Invalid argument: " + n) # logs on standard error
return -1 ^| it should be better to raise an error,
| but the task is about recursive functions
|^
end
fun actualFibonacci = int by int n
return when(n < 2, n, actualFibonacci(n - 1) + actualFibonacci(n - 2))
end
return actualFibonacci(n)
end
writeLine("F(0) = " + fibonacci(0))
writeLine("F(20) = " + fibonacci(20))
writeLine("F(-10) = " + fibonacci(-10))
writeLine("F(30) = " + fibonacci(30))
writeLine("F(10) = " + fibonacci(10))
</syntaxhighlight>
{{out}}
<pre>
F(0) = 0
F(20) = 6765
Invalid argument: -10
F(-10) = -1
F(30) = 832040
F(10) = 55
</pre>
 
=={{header|Erlang}}==
214

edits