Built-in module to calculate the least common multiple

In Python 3.8 and earlier

There is no such thing built into the stdlib.

However, there is a Greatest Common Divisor function in the math library. (For Python 3.4 or 2.7, it's buried in fractions instead.) And writing an LCM on top of a GCD is pretty trivial:

def lcm(a, b):
    return abs(a*b) // math.gcd(a, b)

Or, if you're using NumPy, it's come with an lcm function for quite some time now.


Try this instead:

def lcm(x, y):
    from fractions import gcd # or can import gcd from `math` in Python 3
    return x * y // gcd(x, y)

In Python 3.9+

This is available as math.lcm(). It also takes any number of arguments, allowing you to find the lowest common multiple of more than 2 integers.

For example:

>>> from math import lcm
>>> lcm(2, 5, 7)
70

Tags:

Python