본문 바로가기
백준 코딩테스트/실버

2609) 최대공약수와 최소공배수 (C++)

by xortl98 2022. 5. 22.
728x90

 출처 

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

 

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

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

www.acmicpc.net

 내 풀이 

#include<iostream>

using namespace std;

//최대 공약수
int gdc(int a, int b)
{
	if (a % b == 0) return b;
	else return gdc(b, a % b);
}

//최소 공배수
int lcm(int a, int b)
{
	return a * b / gdc(a, b);
}

int A = 0, B = 0;

int main()
{
	cin >> A >> B;

	cout << gdc(A, B) << endl;
	cout << lcm(A, B);
}

 해설

유클리드 호제법으로 풀었다.

 느낀점 

유클리드 호재법을 알았다.

'백준 코딩테스트 > 실버' 카테고리의 다른 글

3036) 링 (C++)  (0) 2022.05.24
1934) 최소공배수 (C++)  (0) 2022.05.23
2693) N번째 큰 수 (C++)  (0) 2022.05.21
11478) 서로 다른 부분 문자열의 개수 (C++)  (0) 2022.05.17
1269) 대칭 차집합 (C++)  (0) 2022.05.17