Questão de Programação — Java — FGV 2024
- 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
- A1;
- B2;
- C3;
- D7;
- E9.
GabaritoA — 1;
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.
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.
Conforme demonstrado, o retorno é 1.
2 não é MDC de 49 e 72, pois 49 não é divisível por 2.
3 não é MDC, pois 49 não é múltiplo de 3.
7 é divisor de 49 (49 = 7×7), mas 72 não é divisível por 7.
9 é divisor de 72, mas 49 não é divisível por 9.
Gabarito: letra A.
Link permanente: /questoes/fg098533