Questão FC331150
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.
Linguagens de Programação
FGV · 2023
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.
- 1
- 3
- 6
- 15
- 75
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A execução da função xxx com argumentos 90 e 15 resulta em 15.
A função implementa o algoritmo de Euclides para o cálculo do MDC (máximo divisor comum). Enquanto b != 0, ela troca os valores com a atribuição paralela a, b = b, a % b, isto é, passa a receber o antigo \(b\) e \(b\) recebe o resto da divisão de \(a\) por \(b\).
No caso específico: inicialmente \(a=90\), \(b=15\). Na primeira iteração faz-se \(a \leftarrow 15\) e \(b \leftarrow 90\%15 = 0\). Como agora \(b=0\), o laço termina e a função executa return a, retornando o valor 15, que é impresso.
Conteúdo do catálogo FC Concursos · Atualizado em