Todos os desafios
Fácil 0 resolvidos 0% de aceitação

Greatest Common Divisor

Find the largest number that divides both values.

Return the greatest common divisor of a and b. Euclid's algorithm repeatedly replaces (a, b) with (b, a mod b) until b is 0.

Implement gcd(a, b).

Input

a: The first number. b: The second number.

Output

Return gcd(a, b). gcd(0, 0) is 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, so the answer is 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 and 5 share no factor other than 1.

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.