코드로 구현하면
int gcd(int a, int b)
{
int c = a % b;
while (c > 0)
{
a = b;
b = c;
c = a % b;
}
return b;
}
최대공약수 * 최소공배수 = 두 수의 곱
최소공배수 = 두 수의 곱 / 최대공약수
int lcm(int a, int b)
{
return (a * b) / gcd(a, b);
}
전체 코드
#include <iostream>
using namespace std;
int gcd(int a, int b)
{
int c = a % b;
while (c > 0)
{
a = b;
b = c;
c = a % b;
}
return b;
}
int lcm(int a, int b)
{
return (a * b) / gcd(a, b);
}
int main()
{
int a, b;
cin >> a >> b;
cout << gcd(a, b) << "\n" << lcm(a, b);
}