Files
cground/tests/recursivefib.grnd

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