Menu
CoddyTech

Greatest Common Divisor

Даны два положительных целых числа a и b. Верните их наибольший общий делитель: наибольшее целое число, на которое оба числа делятся без остатка.

Например, числа, на которые делятся и 8, и 12, — это 1, 2 и 4, поэтому ответ — 4.

Функция

gcd(a: integer, b: integer) → integer
ainteger
первое положительное целое число
binteger
второе положительное целое число
Возвращаетinteger
наибольшее целое число, на которое делятся и a, и b

Ограничения

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

Примеры

Ввод
a = 12b = 18
Вывод
6
Пояснение
Делители 12 — это 1, 2, 3, 4, 6 и 12; делители 18 — это 1, 2, 3, 6, 9 и 18. Наибольшее число в обоих списках — 6.

lock icon+14 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Можешь расширить алгоритм Евклида так, чтобы он также возвращал целые числа x и y, для которых выполняется a × x + b × y = gcd(a, b)?

Сбросить код
def gcd(a, b):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

a = 12
b = 18

Ожидается

6