##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::experimental::lcm

From cppreference.com
< cpp‎ | experimental

| Merged into ISO C++ The functionality described on this page was merged into the mainline ISO C++ standard as of 6/2016, see `std::lcm` (since C++17)

Defined in header `<experimental/numeric>` |  |
template< class M, class N> constexpr std::common_type_t<M, N> lcm(M m, N n); |  | (library fundamentals TS v2)

Computes the least common multiple of the integers `m` and `n`.

### [edit] Parameters

m, n | - | integer values

### [edit] Return value

If either `m` or `n` is zero, returns zero. Otherwise, return the least common multiple of `|m|` and `|n|`.

### [edit] Remarks

If either `M` or `N` is not an integer type, the program is ill-formed.

The behavior is undefined if

- `|m|` is not representable as a value of type `M`; or
- `|n|` is not representable as a value of type `N`; or
- the least common multiple of `|m|` and `|n|` is not representable as a value of type `std::common_type_t<M,N>`.

### [edit] Exceptions

Throws no exceptions.

### [edit] See also

gcd | `constexpr` function template returning the greatest common divisor of two integers (function template) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/lcm&oldid=86294"