25 lines
516 B
Plaintext
25 lines
516 B
Plaintext
fun !fib -int -int &n -function &fib
|
|
# Base case: fib(0) = 0, fib(1) = 1
|
|
lesser $n 2 &isBase
|
|
if $isBase %baseCase
|
|
|
|
# Recursive case: fib(n) = fib(n-1) + fib(n-2)
|
|
subtract $n 1 &nMinus1
|
|
call !fib $nMinus1 $fib &fib1
|
|
|
|
subtract $n 2 &nMinus2
|
|
call !fib $nMinus2 $fib &fib2
|
|
|
|
add $fib1 $fib2 &result
|
|
return $result
|
|
|
|
@baseCase
|
|
return $n
|
|
endfun
|
|
|
|
# Main program
|
|
println "Computing fib(30) recursively..."
|
|
call !fib 30 $fib &answer
|
|
println "Result:" $answer
|
|
end
|