main.c
#include <stdio.h>
long fib(int n) {
if (n <= 1) // Caso Base
return n;
// Passo Recursivo
return fib(n-1) + fib(n-2);
}
int main() {
int n = 4;
printf("Fibonacci(%d) = %ld\n", n, fib(n));
return 0;
}
long fib(int n) {
if (n <= 1) // Caso Base
return n;
// Passo Recursivo
return fib(n-1) + fib(n-2);
}
int main() {
int n = 4;
printf("Fibonacci(%d) = %ld\n", n, fib(n));
return 0;
}
Terminal de Saída
$ Aguardando execução...
Compreendendo a Recursão
A recursão ocorre quando a função divide o problema original em subproblemas do mesmo tipo, invocando a si mesma.
Estrutura do Fibonacci
- Caso Base: Interrompe a execução quando
n ≤ 1. - Ramificação: A função se divide em duas:
fib(n-1)efib(n-2).
Árvore de Chamadas (Call Tree)
Execute o código (para n ≤ 6) para gerar o diagrama visual da memória.
Nenhuma árvore gerada ainda.