std:: gcd
|
헤더 파일에 정의됨
<numeric>
|
||
|
template
<
class
M,
class
N
>
constexpr std:: common_type_t < M, N > gcd ( M m, N n ) ; |
(C++17부터) | |
정수 m 과 n 의 최대공약수 를 계산합니다.
만약
M
또는
N
중 하나가 정수형이 아니거나, 둘 중 하나가 (가능하다면 cv 한정자 적용된)
bool
인 경우, 프로그램은 형식에 맞지 않습니다.
만약 | m | 또는 | n | 중 하나가 std:: common_type_t < M, N > 타입의 값으로 표현될 수 없는 경우, 동작은 정의되지 않습니다.
목차 |
매개변수
| m, n | - | 정수 값 |
반환값
만약 m 과 n 이 모두 0이면, 0을 반환합니다. 그렇지 않으면, | m | 과 | n | 의 최대공약수를 반환합니다.
예외
예외를 던지지 않습니다.
참고 사항
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_gcd_lcm
|
201606L
|
(C++17) |
std::gcd
,
std::lcm
|
예제
#include <numeric> int main() { constexpr int p{2 * 2 * 3}; constexpr int 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); }
참고 항목
|
(C++17)
|
두 정수의 최소공배수를 계산합니다
(함수 템플릿) |