Наименьшее общее кратное Python (LCM)

Найдите наименьшее общее кратное (LCM) двух чисел, используя их отношение HCF в Python.

Попробуйте в редакторе

Обзор

Наименьшее общее кратное (НОК) двух целых чисел — это наименьшее положительное целое число, которое делится на оба числа.

Между HCF (НОД) и НОК существует фундаментальная связь: `LCM(a, b) = abs(a * b) // НОД(a, b)`. Мы можем рассчитать LCM мгновенно, как только станет известен НОД.

Этот расчет выполняется намного быстрее и требует меньше памяти, чем повторение кратного большего числа.

Код и вывод выполнения

Калькулятор LCM с использованием сокращения на основе НОД.

def find_gcd(a, b):
    while b != 0:
        a, b = b, a % b
    return a

def find_lcm(a, b):
    if a == 0 or b == 0:
        return 0
    return abs(a * b) // find_gcd(a, b)

print("LCM of 12 and 18 is:", find_lcm(12, 18))
print("LCM of 5 and 7 is:  ", find_lcm(5, 7))
Терминальный выход
LCM of 12 and 18 is: 36
LCM of 5 and 7 is:   35

Пошаговая реализация

  • Согласование периодических фоновых заданий и запусков cron
  • Масштабирование знаменателей сложения и вычитания дробей
  • Планирование обнаружения конфликтов

Часто задаваемые вопросы

Зачем делить на НОД перед умножением чисел?

Первое деление предотвращает потенциальное целочисленное переполнение в языках с фиксированными целочисленными размерами. Хотя Python обрабатывает сколь угодно большие целые числа, это по-прежнему является лучшей практикой.

Связанные темы