Наибольший общий делитель на Python

Вводится два целых числа, находится их наибольший общий делитель.

Примечание. Наибольший общий делитель (НОД, англ. GCD) — это наибольшее число, на которое нацело делятся два заданных числа. 

a = int(input())
b = int(input())

while a != 0 and b != 0:
    if a > b:
        a %= b
    else:
        b %= a

gcd = a + b
print(gcd)

С комментариями:

# ввод целых чисел
a = int(input())
b = int(input())

# Пока какое-нибудь из двух числе не будет равно 0,
while a != 0 and b != 0:
    # сравнивать их между собой.
    # Если первое число больше второго,
    if a > b:
        # то находить остаток от деления его на второе число 
        # и присваивать его первой переменной
        a = a % b
    # Иначе (когда второе число больше первого)
    else:
        # присваивать второй переменной остаток от деления 
        # нацело второго числа на первое
        b = b % a

# Одно из чисел содержит 0, а другое - НОД, но какое - неизвестно.
# Проще их сложить, чем писать конструкцию if-else
gcd = a + b
print(gcd)

Пример выполнения:

1012
600
4

  Работа со строками и символами в Python: основные концепции и практические рекомендации
Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Python для начинающих
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x