알고리즘 문제풀이/백준

[백준 2609] 최대공약수와 최소공배수

m2162003 2021. 1. 4. 00:21

www.acmicpc.net/problem/2609

 

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

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

www.acmicpc.net

#include <stdio.h>

using namespace std;

int gcd(int a, int b)
{
  while (b)
  {
    int r = a % b;
    a = b;
    b = r;
  }
  return a;
}

int lcm(int a, int b)
{
  return a / gcd(a, b) * b;
}
int main(void)
{
  int n, m;
  scanf("%d%d", &n, &m);
  printf("%d\n%d\n", gcd(n, m), lcm(n, m));
  return 0;
}