Problema
Ver original (inglês)Retorne o maior divisor comum de a e b. O algoritmo de Euclides substitui repetidamente (a, b) por (b, a mod b) até que b seja 0.
Implemente gcd(a, b).
Entrada
a: O primeiro número. b: O segundo número.
Saída
Retorne gcd(a, b). gcd(0, 0) é 0.
Restrições
0 ≤ a, b ≤ 10¹⁸
Exemplos
Exemplo 1
Entrada:
a = 48
b = 18
Saída esperada:
expected = 6
Entrada:
long long a = 48;
long long b = 18;
Saída esperada:
long long expected = 6;
Entrada:
long a = 48;
long b = 18;
Saída esperada:
long expected = 6;
Explicação
48 mod 18 = 12, 18 mod 12 = 6, 12 mod 6 = 0, então a resposta é 6.
Exemplo 2
Entrada:
a = 17
b = 5
Saída esperada:
expected = 1
Entrada:
long long a = 17;
long long b = 5;
Saída esperada:
long long expected = 1;
Entrada:
long a = 17;
long b = 5;
Saída esperada:
long expected = 1;
Explicação
17 e 5 não possuem nenhum fator em comum além de 1.
Referências
Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.