Pular para o conteúdo principal

Questão de Programação — Java — FGV 2024

ProgramaçãoJava
Código
fg098533
Banca
FGV
Órgão
TJ-MS
Ano
2024
Nível
Superior
Cargo
Técnico de Nível Superior - Analista de Sistemas Computacionais - Analista de Sistemas
Considere a seguinte função na linguagem Java:public static int funcao(int x, int y) {if (y == 0)return x;elsereturn funcao(y, x % y);}O retorno da chamada funcao(49, 72) é:
  1. A1;
  2. B2;
  3. C3;
  4. D7;
  5. E9.
Revelar gabarito e comentário

GabaritoA — 1;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Função recursiva em Java – MDC

Gabarito: letra A. A função funcao implementa o algoritmo de Euclides para o cálculo do máximo divisor comum (MDC). A chamada funcao(49, 72) retorna 1, pois o MDC entre 49 e 72 é 1.

A função é definida como:

public static int funcao(int x, int y) {
    if (y == 0)
        return x;
    else
        return funcao(y, x % y);
}

Quando y é zero, retorna x; caso contrário, chama-se recursivamente com os argumentos y e x % y. Esse é exatamente o algoritmo de Euclides.

Simulação passo a passo:

Chamada

x

y

x % y

Próxima chamada

funcao(49, 72)

49

72

49

funcao(72, 49)

funcao(72, 49)

72

49

23

funcao(49, 23)

funcao(49, 23)

49

23

3

funcao(23, 3)

funcao(23, 3)

23

3

2

funcao(3, 2)

funcao(3, 2)

3

2

1

funcao(2, 1)

funcao(2, 1)

2

1

0

funcao(1, 0)

funcao(1, 0)

1

0

retorna 1

O resultado final é 1.

  1. 1funcao(49, 72)
  2. 2funcao(72, 49)
  3. 3funcao(49, 23)
  4. 4funcao(23, 3)
  5. 5funcao(3, 2)
  6. 6funcao(2, 1)
  7. 7funcao(1, 0) → 1
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

Conforme demonstrado, o retorno é 1.

Alternativa B — ❌ Incorreta

2 não é MDC de 49 e 72, pois 49 não é divisível por 2.

Alternativa C — ❌ Incorreta

3 não é MDC, pois 49 não é múltiplo de 3.

Alternativa D — ❌ Incorreta

7 é divisor de 49 (49 = 7×7), mas 72 não é divisível por 7.

Alternativa E — ❌ Incorreta

9 é divisor de 72, mas 49 não é divisível por 9.

Gabarito: letra A.

Link permanente: /questoes/fg098533