Gabarito disponível
Analise o código abaixo.
public class exercicio {
public static int fib(int m){
if (m==0 || m==1)
return 1;
else return fib(m-1) + fib(m-2);
}
public static void main(String[] args) {
int n=5;
int f=fib(n);
System.out.println(f);
}
}
Assinale a opção que apresenta o resultado do código apresentado acima.
public class exercicio {
public static int fib(int m){
if (m==0 || m==1)
return 1;
else return fib(m-1) + fib(m-2);
}
public static void main(String[] args) {
int n=5;
int f=fib(n);
System.out.println(f);
}
}
Assinale a opção que apresenta o resultado do código apresentado acima.
Resolução comentada
Com fib(0)=fib(1)=1, fib(5)=8.
A sequência é fib(0)=1, fib(1)=1, fib(2)=2, fib(3)=3, fib(4)=5 e fib(5)=8. A recursão soma os dois valores anteriores, e o caso-base devolve 1.
Análise das alternativas
A) 5 é fib(4). B) 6 e C) 7 não pertencem à sequência. E) 9 também não pertence à sequência.
Referência: Java — recursividade e sequência de Fibonacci.
Resolução comentada do VaiConcursos.