백준/기타

2609번: 최대공약수와 최소공배수 [C++]

Koalitsiya 2023. 4. 6. 15:31

문제

 

 

풀이

유클리드 호제법을 사용해 최대 공약수와 최소 공배수를 구하였다.

#include <iostream>

using namespace std;

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

int main() {
	int n, m;
	int gt, lt;

	cin >> n >> m;

	if (n >= m) {
		gt = n;
		lt = m;
	}
	else {
		gt = m;
		lt = n;
	}

	cout << gcd(gt, lt) << "\n" << (n * m) / gcd(gt, lt);

	return 0;
}