본문으로 바로가기

출처 : 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