Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
C++ Boost

gcd_lcm - GCD and LCM


detail/gcd_lcm.hpp provides two generic integer algorithms: greatest common divisor and least common multiple.


namespace details {
namespace pool {

template <typename Integer>
Integer gcd(Integer A, Integer B);

template <typename Integer>
Integer lcm(Integer A, Integer B);

} // namespace pool
} // namespace details


Symbol Table
Symbol Meaning
Integer An integral type
A, B Values of type Integer

Expression Result Type Precondition Notes
gcd(A, B) Integer A > 0 && B > 0 Returns the greatest common divisor of A and B
lcm(A, B) Integer A > 0 && B > 0 Returns the least common multiple of A and B

Implementation Notes

For faster results, ensure A > B



Future Directions

This header may be replaced by a Boost algorithms library.

Valid HTML 4.01 Transitional

Revised 05 December, 2006

Copyright © 2000, 2001 Stephen Cleary (scleary AT jerviswebb DOT com)

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at