rueki

BOJ 2609 최대공약수와 최소공배수 본문

C, C++ 문제풀이

BOJ 2609 최대공약수와 최소공배수

륵기 2020. 10. 26. 08:59
728x90
반응형

GCD

유클리드 호제법 사용(재귀함수)

a,b 두 수가 있을 때

b가 0이 될때까지 a를 b로 나눈다.

b가 0이되면 a를 return 하게 된다.

 

LCD 

최소공배수 = 최대공약수 * (a / 최대공약수) * (b/최대공약수)

#include <iostream>
using namespace std;

int gcd(int a, int b)
{
	if (b == 0)
	{
		return a;
	}
	else
	{
		return gcd(b, a % b);
	}
}

int lcm(int g, int a, int b)
{
	int l = g * (a / g) * (b / g);
	return l;
}

int main()
{
	int a, b;
	cin >> a >> b;
	cout << gcd(a, b) << lcm(gcd(a, b), a, b);


	return 0;
}
728x90
반응형

'C, C++ 문제풀이' 카테고리의 다른 글

BOJ 11005. 진법 변환 2  (0) 2020.10.26
BOJ 9613. GCD 합  (0) 2020.10.26
프로그래머스- 타겟넘버(DFS)  (0) 2020.10.21
이진트리 순회  (0) 2020.10.06
SW Expert Academy 8500. 극장 좌석  (0) 2020.04.15
Comments