Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::lcm

      From cppreference.com
      <cpp‎ |numeric
       
       
       
      Defined in header<numeric>
      template<class M,class N>
      constexprstd::common_type_t<M, N> lcm( M m, N n);
      (since C++17)

      Computes theleast common multiple of the integersm andn.

      If eitherM orN is not an integer type, or if either is (possibly cv-qualified)bool, the program is ill-formed.

      The behavior is undefined if|m|,|n|, or the least common multiple of|m| and|n| is not representable as a value of typestd::common_type_t<M, N>.

      Contents

      [edit]Parameters

      m, n - integer values

      [edit]Return value

      If eitherm orn is zero, returns zero. Otherwise, returns the least common multiple of|m| and|n|.

      [edit]Exceptions

      Throws no exceptions.

      [edit]Notes

      Feature-test macroValueStdFeature
      __cpp_lib_gcd_lcm201606L(C++17)std::gcd,std::lcm

      [edit]Example

      Run this code
      #include <iostream>#include <numeric> #define OUT(...) std::cout << #__VA_ARGS__ << " = " << __VA_ARGS__ << '\n' constexprauto lcm(auto x,auto...xs){return((x= std::lcm(x, xs)), ...);} int main(){constexprint p{2*2*3};constexprint q{2*3*3};    static_assert(2*2*3*3== std::lcm(p, q));    static_assert(225== std::lcm(45,75));     static_assert(std::lcm(6,10)==30);    static_assert(std::lcm(6,-10)==30);    static_assert(std::lcm(-6,-10)==30);     static_assert(std::lcm(24,0)==0);    static_assert(std::lcm(-24,0)==0);     OUT(lcm(2*3,3*4,4*5));    OUT(lcm(2*3*4,3*4*5,4*5*6));    OUT(lcm(2*3*4,3*4*5,4*5*6,5*6*7));}

      Output:

      lcm(2 * 3, 3 * 4, 4 * 5) = 60lcm(2 * 3 * 4, 3 * 4 * 5, 4 * 5 * 6) = 120lcm(2 * 3 * 4, 3 * 4 * 5, 4 * 5 * 6, 5 * 6 * 7) = 840

      [edit]See also

      (C++17)
      computes the greatest common divisor of two integers
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/lcm&oldid=162782"

      [8]ページ先頭

      ©2009-2025 Movatter.jp