template <class M, class N>
constexpr common_type_t<M,N> gcd(M m, N n);
Requires: |m| и |n| должен быть представлен как значение common_type_t<M, N>. [ Note: Эти требования гарантируют, например, что gcd(m, m) = |m| это может быть представлено как значение типа M. ] — end note
Remarks: Если один из типов M или N не является целочисленным типом, либо один из них cv bool, программа имеет неправильный формат .
Returns: Ноль, когда m и n оба равны нулю. В противном случае возвращает наибольший общий делитель |m| и |n|.