PythonFunçõesintermediario

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

Mais exercícios de Funções

PYF026D · DesafioSistema de validaçãoPYF029D · DesafioAnalisador de textoPYF006B · BásicoFunção booleanaPYF009B · BásicoChamar função dentro de função
Ver todos os exercícios de Python