Fibonacci recursivo
Recursão é uma técnica onde uma função chama a si mesma para resolver subproblemas menores. Na prática, ela aparece em navegação de árvores de diretórios, processamento de estruturas aninhadas (JSON, HTML) e algoritmos de busca. Dominar recursão permite escrever soluções elegantes para problemas naturalmente recursivos, sem depender de loops explícitos.
O PROBLEMA
Crie função recursiva fibonacci(n) que retorna o n-ésimo termo.
EXEMPLO
fibonacci(0) → 0 fibonacci(7) → 13
SOBRE O CONCEITO
A função fibonacci(n) precisa de dois casos base: if n == 0: return 0 e elif n == 1: return 1. Para n >= 2, ela chama a si mesma: return fibonacci(n-1) + fibonacci(n-2). O erro mais comum é definir os casos base incorretamente, por exemplo, retornar 1 para fibonacci(0) (começando a sequência com 1,1,2... em vez de 0,1,1,2...). Outro erro é omitir um dos casos base, causando recursão infinita se n nunca atingir o caso. Como a recursão depende de valores anteriores, qualquer base errada propaga o erro para todos os termos seguintes.
RESOLUÇÃO