18 lines
581 B
Plaintext
18 lines
581 B
Plaintext
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))
|