Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::gcd

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

      Computes thegreatest common divisor 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.

      If either|m| or|n| is not representable as a value of typestd::common_type_t<M, N>, the behavior is undefined.

      Contents

      [edit]Parameters

      m, n - integer values

      [edit]Return value

      If bothm andn are zero, returns zero. Otherwise, returns the greatest common divisor 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 <numeric> int main(){constexprint p{2*2*3};constexprint q{2*3*3};    static_assert(2*3== std::gcd(p, q));     static_assert(std::gcd(6,10)==2);    static_assert(std::gcd(6,-10)==2);    static_assert(std::gcd(-6,-10)==2);     static_assert(std::gcd(24,0)==24);    static_assert(std::gcd(-24,0)==24);}

      [edit]See also

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

      [8]ページ先頭

      ©2009-2025 Movatter.jp