Questão nº 66
Questão de Fluência em Dados · FGV Receita Federal do Brasil 2023 - Manhã (nº 66)
Analise o código Python a seguir.
```
def xxx(a, b):
while b != 0:
a, b = b, a % b
return a
print (xxx(90,15))
```
Assinale o resultado exibido na execução desse código.
- A1
- B3
- C6
- D15 (alternativa correta)
- E75
Resposta comentada
Gabarito Alternativa D
O Algoritmo de Euclides é um método para encontrar o Máximo Divisor Comum (MDC) entre dois números inteiros, que é o maior número que divide ambos sem deixar resto. Ele funciona substituindo o par de números pelo menor deles e o resto da divisão do maior pelo menor, repetindo até que um dos números seja zero, momento em que o outro número é o MDC.
(A) Incorreta: O MDC de 90 e 15 não é 1. 1 seria o MDC se os números fossem primos entre si (coprimos).
(B) Incorreta: Embora 3 seja um divisor comum de 90 e 15, ele não é o máximo divisor comum. A armadilha aqui é confundir um divisor comum com o maior divisor comum. O algoritmo de Euclides busca especificamente o maior.
(C) Incorreta: 6 não é um divisor de 15, portanto não pode ser o MDC de 90 e 15.
(D) Correta: O código implementa o Algoritmo de Euclides. Vamos rastrear a execução com a = 90 e b = 15:
while b != 0(15 != 0 é verdadeiro):a, b = b, a % bse tornaa, b = 15, 90 % 15. Como90 % 15é0, os novos valores sãoa = 15eb = 0.while b != 0(0 != 0 é falso): O loop termina.- A função retorna o valor atual de
a, que é15. Portanto, o MDC de 90 e 15 é 15.
(E) Incorreta: 75 não é um divisor de 15, nem de 90, portanto não pode ser o MDC.
Fonte: FGV Receita Federal do Brasil 2023 - Manhã Analista-Tributário da Receita Federal do Brasil (Caderno Tipo 1). Reproduzida para fins de estudo.