백준 5347 c++

magicdrill·2024년 5월 7일

백준 문제풀이

목록 보기
342/673

백준 5347 c++

이전에 풀었던 9613번 최대공약수와 연결되는 문제이다. 최소공배수는 두 수의 곱 / 최대공약수로 구할 수 있다.

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

long long GCD(long long A, long long B)
{
	long long temp;

	if (A < B)
	{
		temp = A;
		A = B;
		B = temp;
	}
	while (B != 0)
	{
		temp = A % B;
		A = B;
		B = temp;
	}

	return A;
}

long long find_answer(long long A, long long B)
{
	long long C = A * B;
	long long LCM;
	long long gcd = GCD(A, B);

	LCM = C / gcd;

	return LCM;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int T;
	int i;
	long long A, B;

	cin >> T;
	for (i = 0; i < T; i++)
	{
		cin >> A >> B;
		cout << find_answer(A, B) << "\n";
	}

	return 0;
}

0개의 댓글