FC ConcursosFC Concursos

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. 1
  2. 3
  3. 6
  4. 15
  5. 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

Continue aprendendo