

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
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 função recursiva de Fibonacci não é implementada corretamente, e a recursão entra em um loop infinito.
A função recursiva de Fibonacci tem complexidade exponencial, o que a torna extremamente lenta para valores grandes de “n”.
A função recursiva de Fibonacci requer um grande consumo de memória devido à pilha de chamadas recursivas.
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.
O código fornecido tem um erro de compilação, e o 50º número de Fibonacci não pode ser calculado dessa forma.