A série de Fibonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, ... começ...

Próximas questões
Com base no mesmo assunto
Q737816 Programação

A série de Fibonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, ... começa com 0 e 1 e tem a propriedade de que cada número subseqüente de Fibonacci é a soma dos dois números de Fibonacci anteriores.

A série Fibonacci pode ser definida recursivamente como segue:

fibonacci (0) = 0

fibonacci (1) = 1

fibonacci ( n ) = fibonacci ( n - 1 ) + fibonacci ( n - 2 )

Indique a função recursiva, em C++, que representa a solução correta para a série de Fibonacci apresentada acima.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

```html

A alternativa correta é a B.

Vamos explorar o porquê:

A questão aborda o conceito de recursividade na programação, que é uma técnica onde uma função chama a si mesma para resolver um problema. No caso da série de Fibonacci, a recursividade é uma forma direta de definir o problema, pois cada número da série é a soma dos dois números anteriores, exceto para os dois primeiros números, que são 0 e 1.

Justificativa da alternativa B:

A alternativa B apresenta uma função recursiva correta para calcular a série de Fibonacci:

if (n == 0 || n == 1) return n;

Esta condição de base lida adequadamente com os casos iniciais da série (0 e 1). Para todos os outros valores de n, a função retorna a soma dos dois números anteriores na série:

return fibonacci(n - 1) + fibonacci(n - 2);

Isso está alinhado exatamente com a definição da série de Fibonacci.

Análise das alternativas incorretas:

A: Essa alternativa retorna 1 ao invés de 0 para n == 0. Além disso, utiliza multiplicação em vez de soma, o que está errado para a definição de Fibonacci.

C: Esta opção não considera uma condição de base para n == 0 e incrementa n em vez de decrementá-lo, o que levaria a chamadas recursivas infinitas.

D: Apenas trata o caso n == 0 e continua incrementando n. Isso resulta em chamadas recursivas infinitas, já que não há uma condição de saída adequada.

E: Falta uma condição de base, crucial em recursão para evitar chamadas infinitas. Sem isso, a função nunca pararia de chamar a si mesma.

Ao entender a lógica por trás da série de Fibonacci e como a recursão funciona, fica claro que a alternativa B é a única que cumpre todos os requisitos corretamente.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

```

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo