Imagem de fundo

Considere a seguinte função recursiva que calcula o n-ésimo...

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?


A

A função recursiva de Fibonacci não é implementada corretamente, e a recursão entra em um loop infinito.


B

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


C

A função recursiva de Fibonacci requer um grande consumo de memória devido à pilha de chamadas recursivas.


D

O 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.


E

O código fornecido tem um erro de compilação, e o 50º número de Fibonacci não pode ser calculado dessa forma.