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

solution

code

#include <iostream>

using namespace std;

int gcd(int a, int b)
{
    int tmp;
    if(a < b) 
    {
        tmp = a;
        a = b;
        b = tmp;
    }
    int n;
    while(b != 0)
    {
        n = a % b;
        a = b;
        b = n;
    }
    return a;
}

int lcm(int a, int b)
{
    return (a*b) / gcd(a, b);
}

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

    cout << gcd(a, b) << endl;
    cout << lcm(a, b) << endl;

    return 0;
}

ref

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