15 lines
457 B
Plaintext
15 lines
457 B
Plaintext
fun fibonacci ← int by int n
|
|
if n < 0
|
|
logLine("Invalid argument: " + n)
|
|
return -1 # we could raise an error instead
|
|
end
|
|
fun actualFibonacci ← <int n|when(n < 2,
|
|
n, actualFibonacci(n - 1) + actualFibonacci(n - 2))
|
|
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))
|