Как вычислить НОК в Python? 🧮
НОК (наименьшее общее кратное) двух чисел можно вычислить с помощью алгоритма Эвклида.
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
return (a * b) // gcd(a, b)
Пример использования:
num1 = 12
num2 = 18
result = lcm(num1, num2)
print("НОК чисел", num1, "и", num2, "равен", result)
Детальный ответ
Как вычислить НОК в Питоне
НОК (Наименьшее Общее Кратное) двух чисел - это наименьшее положительное число, которое делится без остатка на оба этих числа. В этой статье мы рассмотрим способы вычисления НОК в Python.
Метод 1: Использование цикла while
Самый простой способ вычислить НОК двух чисел - использовать цикл while. Этот метод заключается в последовательном увеличении переменной до тех пор, пока она не станет делиться на оба числа без остатка.
def нок(a, b):
большее = max(a, b)
while True:
if большее % a == 0 and большее % b == 0:
return большее
большее += 1
Вызовем функцию с двумя числами:
число1 = 12
число2 = 18
результат = нок(число1, число2)
print(результат) # Выведет 36
Метод 2: Использование алгоритма Евклида
Алгоритм Евклида основан на том факте, что НОК двух чисел можно выразить через их НОД (Наибольший Общий Делитель). Используя этот алгоритм, мы можем вычислить НОК двух чисел в более эффективной манере.
def наибольший_общий_делитель(a, b):
while b != 0:
темп = b
b = a % b
a = темп
return a
def нок(a, b):
НОД = наибольший_общий_делитель(a, b)
НОК = (a * b) / НОД
return НОК
Вызовем функцию с двумя числами:
число1 = 12
число2 = 18
результат = нок(число1, число2)
print(результат) # Выведет 36
Метод 3: Использование встроенной функции
Python предоставляет встроенную функцию для вычисления НОК двух чисел - math.lcm(). Эта функция была добавлена в Python 3.9, поэтому убедитесь, что у вас установлена эта версия Python или более поздняя.
import math
число1 = 12
число2 = 18
результат = math.lcm(число1, число2)
print(результат) # Выведет 36
Заключение
Вычисление НОК двух чисел в Python может быть достигнуто несколькими способами, включая использование цикла while, алгоритма Евклида и встроенной функции math.lcm(). Выберите метод, который наилучшим образом подходит для ваших потребностей и продолжайте программировать!