Anonymous recursion: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 1,091: | Line 1,091: | ||
{{out}} |
{{out}} |
||
102334155 |
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}}== |
=={{header|Erlang}}== |