PS

2609 최대공약수와 최소공배수

Eastplanet 2021. 1. 9. 21:36

최대 공약수와 최소공배수를 구해서 제출하면 되는 문제이다.

소인수분해로 풀었지만 다른 풀이를 보던도중 유클리드 호제법을 발견하여 유클리드 호제법으로 한번 더 풀어보았다.

더보기

깔끔하게 유클리드 호제법 함수

#include <iostream>

using namespace std;

int getGCD(int a, int b)
{
    if (b == 0)
        return a;
    else
        return getGCD(b, a%b);
}

int main()
{
    int a, b;
    cin >> a >> b;

    int gcd = getGCD(a, b); // 최대공약수 : 유클리드 호제법 사용
    int lcm = a*b/gcd;      // 최소공배수 : gcd x lcm = A x B 이용

    cout << gcd << endl;
    cout << lcm << endl;
}

ldgeao99.tistory.com/296