Menu
CoddyTech

Greatest Common Divisor

Você recebe dois números inteiros positivos a e b. Retorne o máximo divisor comum deles: o maior número inteiro que divide ambos sem deixar resto.

Por exemplo, os números que dividem tanto 8 quanto 12 são 1, 2 e 4, então a resposta é 4.

Função

gcd(a: integer, b: integer) → integer
ainteger
o primeiro número inteiro positivo
binteger
o segundo número inteiro positivo
Retornainteger
o maior inteiro que divide tanto a quanto b

Restrições

  • 1 ≤ a ≤ 109
  • 1 ≤ b ≤ 109

Exemplos

Entrada
a = 12b = 18
Saída
6
Explicação
Os divisores de 12 são 1, 2, 3, 4, 6 e 12; os divisores de 18 são 1, 2, 3, 6, 9 e 18. O maior número que aparece nas duas listas é 6.

lock icon+14 testes ocultos ao enviar

challenge icon

Para ir além

Você consegue estender o algoritmo de Euclides para também retornar os inteiros x e y tais que a × x + b × y = gcd(a, b)?

Redefinir código
def gcd(a, b):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

a = 12
b = 18

Esperado

6