Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESGRANRIO 2022

ProgramaçãoLinguagens de programação
Código
cg016686
Banca
CESGRANRIO
Órgão
Banco da Amazônia
Ano
2022
Nível
Superior
Cargo
Técnico Científico - Tecnologia da Informação
Em linguagens de programação como Java, onde existem estruturas de repetição, a recursão pode ser muitas vezes substituída pela repetição, com ganhos de desempenho.Considere a seguinte função recursiva segredo, em Java:public static int segredo(int a) { if (a<2) { return 0; } else { return segredo(a-2)+1; } } Que fragmento de código, em Java, contendo uma estrutura de repetição, é adequado para substituí-la?
  1. Apublic static int alternativaA(int a) { int s = 0; for (int i=a;i>2;i--) { s++; } return s; }
  2. Bpublic static int alternativaB(int a) { int s = 0; for (int i=a;i<2 && i>0;i--) { s++; } return s; }
  3. Cpublic static int alternativaC(int a) {int s = 0;while (a>=2) {a-=2;s++;}return s;}
  4. Dpublic static int alternativaD(int a) { int s = 0; do { a-=2; s++; } while (a>0 && a<=2); return s; }
  5. Epublic static int alternativaE(int a) { int s = 0; do { a-=2; s++; } while (a>0 && a<2); return s; }
Revelar gabarito e comentário

GabaritoC — public static int alternativaC(int a) { int s = 0; while (a>=2) { a-=2; s++; } return s; }

Link permanente: /questoes/cg016686