Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — UNITINS 2023

ProgramaçãoLinguagens de programação
Código
qg047926
Banca
UNITINS
Órgão
AFTO
Ano
2023
Nível
Superior
Cargo
Analista de Sistemas
Considere a seguinte função recursiva que calcula o n-ésimo número de Fibonacci.public long fibonacci(int n) {if (n <= 1) {return n;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}Agora, imagine que você deseja calcular o 50º número de Fibonacci usando essa função. No entanto, ao executar o código, ele levará muito tempo para concluir. Por que o cálculo do 50º número de Fibonacci usando essa função recursiva levará tanto tempo?
  1. AA função recursiva de Fibonacci não é implementada corretamente, e a recursão entra em um loop infinito.
  2. BA função recursiva de Fibonacci tem complexidade exponencial, o que a torna extremamente lenta para valores grandes de “n”.
  3. CA função recursiva de Fibonacci requer um grande consumo de memória devido à pilha de chamadas recursivas.
  4. DO cálculo do 50º número de Fibonacci é impossível de ser realizado com precisão usando essa função devido a limitações numéricas em Java.
  5. EO código fornecido tem um erro de compilação, e o 50º número de Fibonacci não pode ser calculado dessa forma.
Revelar gabarito e comentário

GabaritoB — A função recursiva de Fibonacci tem complexidade exponencial, o que a torna extremamente lenta para valores grandes de “n”.

Link permanente: /questoes/qg047926