Questões Programação

As duas classes a seguir resolvem o mesmo problema, porém, a ClasseB utiliza recursã...

Responda: As duas classes a seguir resolvem o mesmo problema, porém, a ClasseB utiliza recursão e a ClasseA, não: public class ClasseB { ...


Q185607 | Programação, Agente de Defensoria Programador, DPE SP, FCC

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

Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.