Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Как найти НОД двух чисел

НОД — наибольшее число, на которое делятся оба числа без остатка. В Python его находят готовой функцией или алгоритмом Евклида.

Готовая функция

В модуле math есть gcd — она сразу возвращает наибольший общий делитель. На практике используют её.

import math
print(math.gcd(24, 36))   # 12

Алгоритм Евклида

Классический способ понять, как это работает: пока второе число не ноль, заменяем пару (a, b) на (b, остаток a на b). Когда второе станет нулём — первое и есть НОД.

a, b = 24, 36
while b:
    a, b = b, a % b
print(a)   # 12

Почему это красиво

Алгоритм Евклида — один из древнейших и очень элегантный: всего две строки, а работает для любых чисел. Он хорошо показывает силу цикла while и оператора остатка.

Частые вопросы

Что такое a, b = b, a % b? Одновременное присваивание: пара обновляется сразу.

Как найти НОК? Через НОД: НОК = a * b // НОД(a, b).

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание