본문으로 바로가기

백준 02609 - 최대공약수와 최소공배수

category BOJ 백준/기타 2020. 12. 18. 23:57

출처 : https://www.acmicpc.net/problem/2609 

 

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

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

www.acmicpc.net

 

고려사항

  • 유클리드호제법으로 최대공약수 구하기
  • 최소공배수 = a * b / gcd(a, b)

 

#include <iostream>
using namespace std;

int main() {
    int a, b, tmp, gcd, lcm;

    cin>>a>>b;
    lcm = a * b;


    if(a < b){
        tmp = a;
        a = b;
        b = tmp;
    }

    while(b > 0){
        tmp = b;
        b = a % b;
        a = tmp;
    }

    gcd = a;
    lcm /= gcd;

    cout<<gcd<<"\n";
    cout<<lcm<<"\n";

    return 0;
}

'BOJ 백준 > 기타' 카테고리의 다른 글

백준 11653 - 소인수분해  (0) 2020.12.19
백준 02252 - 줄 세우기  (0) 2020.11.27
백준 04195 - 친구 네트워크  (0) 2020.11.26
백준 11438 - LCA 2  (0) 2020.11.25
백준 01976 - 여행 가자  (0) 2020.11.23