Procura

ProgramaçãoLinguagens de programação


EXERCÍCIOS - Exercício 400

  • (FCC 2013)

As duas classes a seguir resolvem o mesmo problema, porém, a ClasseB utiliza recursão e a ClasseA, não: public class ClasseB { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Entre com o valor de n:"); int n = in.nextInt(); for (int i = 1; i <= n; i++) { long f = teste(i); System.out.println(f); } } public static long teste(int n) { if (n <= 2) { return 1; } else { return teste(n - 1) + teste(n - 2); } } } import java.util.Scanner; public class ClasseA { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Entre com o valor de n:"); int n = in.nextInt(); for (int i = 1; i <= n; i++) { long f = teste(i); System.out.println(f); } } public static long teste(int n) { if (n <= 2) return 1; long a=1; long b=1; long c = 1; for (int i=3; i<=n; i++){ c=a+b; b=a; a=c; } return c; } } Analisando as duas classes e refletindo sobre o uso de recursão é possível concluir que


A) se o valor digitado e armazenado na variável n for 50, a ClasseB que utiliza recursão executa mais rapidamente que a ClasseA.

B) se o valor digitado e armazenado na variável n for 5, será exibido na tela os valores 1, 3, 6, 10 e 15, um abaixo do outro.

C) se o valor digitado e armazenado na variável n for 50, a ClasseA que não utiliza recursão executa mais rapidamente que a ClasseB.

D) se o valor digitado e armazenado na variável n for 5, será exibido na tela os valores 1, 2, 6, 24 e 120, um abaixo do outro.

E) em todas as situações, inclusive nos exemplos apresentados, o uso de recursão melhora a eficiência do algoritmo, melhorando o desempenho da aplicação.


Próximo:
EXERCÍCIOS - Exercício 401

Vamos para o Anterior: Exercício 399

Tente Este: Exercício 418

Primeiro: Exercício 1

VOLTAR ao índice: Programação






Cadastre-se e ganhe o primeiro capítulo do livro.
+
((ts_substr_ig=0.00ms))((ts_substr_id=8.03ms))((ts_substr_m2=0.00ms))((ts_substr_p2=0.75ms))((ts_substr_c=1.10ms))((ts_substr_im=0.84ms))
((total= 11ms))