std::gcd
来自cppreference.com
定义于头文件 <numeric>
|
||
template< class M, class N> constexpr std::common_type_t<M, N> gcd(M m, N n); |
(C++17 起) | |
计算整数 m
与 n
的最大公约数。
参数
m, n | - | 整数值 |
返回值
若 m
与 n
均为零则返回零。否则返回 |m|
与 |n|
的最大公约数。
注意
若 M
或 N
不是整数类型,或者若其中之一是(可有 cv 限定的) bool ,则程序为病式。
若 |m|
或 |n|
不能表示为 std::common_type_t<M, N> 类型的值,则行为未定义。
异常
不抛异常。
示例
运行此代码
#include <numeric> int main() { constexpr int p {2 * 2 * 3}; constexpr int q {2 * 3 * 3}; static_assert(2 * 3 == std::gcd(p, q)); }
参阅
(C++17) |
返回二个整数最小公倍数的 constexpr 函数模板 (函数模板) |