C++ 공부

최대공약수와 최소공배수를 구하는 함수

Client Side 2025. 9. 29. 14:39

C++17부터는 표준 라이브러리(std)에 gcd(최대공약수) lcm(최대공배수) 함수가 추가되었다.

사용하려면 헤더에 #include <numeric> 을 추가시켜야 한다.

 

std::gcd(a, b)는 두 인자의 최대공약수 값을 반환하고, std::lcm(a, b)는 두 인자의 최소공배수 값을 반환한다.

 

* 참고로 최소공배수는 두 인자의 곱을 최대공약수로 나눈 값이다.

#include <numeric>

int main() {
    int a = 24;
    int b = 36;
    
    int gcd_result = std::gcd(a, b);
    int lcm_result = std::lcm(a, b);
    
    // 출력: 최대공약수: 12, 최소공배수: 72
    std::cout << "최대공약수: " << gcd_result << ", 최소공배수: " << lcm_result << std::endl;
    
    return 0;
}