Введение
В математике наименьшее общее кратное (НОК) — это наименьшее положительное целое число, которое делится на два или более чисел без остатка. Например, НОК чисел 4 и 6 равно 12, так как 12 — это наименьшее число, которое делится на 4 и на 6.
This tutorial is from open-source community. Access the source code
💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал
В математике наименьшее общее кратное (НОК) — это наименьшее положительное целое число, которое делится на два или более чисел без остатка. Например, НОК чисел 4 и 6 равно 12, так как 12 — это наименьшее число, которое делится на 4 и на 6.
Напишите функцию lcm(numbers)
, которая принимает список чисел в качестве аргумента и возвращает их наименьшее общее кратное. Ваша функция должна использовать следующую формулу для вычисления НОК двух чисел x
и y
: НОК(x, y) = x * y / НОД(x, y)
, где НОД(x, y)
— это наибольший общий делитель x
и y
.
Для решения этой задачи вы можете использовать функцию functools.reduce()
, чтобы применить формулу НОК()
ко всем числам в списке. Также вы можете использовать функцию math.gcd()
для вычисления наибольшего общего делителя двух чисел.
from functools import reduce
from math import gcd
def lcm(numbers):
return reduce((lambda x, y: int(x * y / gcd(x, y))), numbers)
lcm([12, 7]) ## 84
lcm([1, 3, 4, 5]) ## 60
В этом испытании вы узнали, как вычислять наименьшее общее кратное списка чисел с использованием функций functools.reduce()
и math.gcd()
. Функция НОК()
использует формулу НОК(x, y) = x * y / НОД(x, y)
для вычисления НОК двух чисел.