😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[BAEKJOON C++] 2702_초6 μˆ˜ν•™ λ³Έλ¬Έ

πŸ¦₯ μ½”ν…Œ/BAEKJOON

[BAEKJOON C++] 2702_초6 μˆ˜ν•™

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 7. 19. 00:16
728x90
λ°˜μ‘ν˜•
두 μ •μˆ˜ a와 b μ΅œμ†Œκ³΅λ°°μˆ˜λŠ” λ‘ μˆ˜μ˜ κ³΅ν†΅λœ λ°°μˆ˜ μ€‘ κ°€μž₯ μž‘은 μˆ˜μ΄κ³ ,
μ΅œλŒ€κ³΅μ•½μˆ˜λŠ” λ‘ μˆ˜μ˜ κ³΅ν†΅λœ μ•½μˆ˜μ€‘ κ°€μž₯ ν° μˆ˜μ΄λ‹€.
a와 bκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, μ΅œμ†Œκ³΅λ°°μˆ˜μ™€ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯
첫째 μ€„에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ κ°œμˆ˜ T(1<=T<=1,000)κ°€ μ£Όμ–΄μ§„λ‹€.
각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” λ‘ μ •μˆ˜ a와 b둜 μ΄λ£¨μ–΄μ Έ μžˆκ³ , κ³΅λ°±μœΌλ‘œ κ΅¬λΆ„λ˜μ–΄ μžˆλ‹€.
(1 <= a,b <= 1,000)

좜λ ₯
각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ— λŒ€ν•΄ μ΅œμ†Œκ³΅λ°°μˆ˜μ™€ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό μ°¨λ‘€λŒ€λ‘œ μΆœλ ₯ν•œλ‹€.
// [2702] 초6 μˆ˜ν•™

/*
두 μ •μˆ˜ a와 b μ΅œμ†Œκ³΅λ°°μˆ˜λŠ” 두 수의 κ³΅ν†΅λœ 배수 쀑 κ°€μž₯ μž‘μ€ 수이고,
μ΅œλŒ€κ³΅μ•½μˆ˜λŠ” 두 수의 κ³΅ν†΅λœ μ•½μˆ˜μ€‘ κ°€μž₯ 큰 μˆ˜μ΄λ‹€.
a와 bκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, μ΅œμ†Œκ³΅λ°°μˆ˜μ™€ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯
첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 T(1<=T<=1,000)κ°€ 주어진닀.
각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” 두 μ •μˆ˜ a와 b둜 이루어져 있고, 곡백으둜 κ΅¬λΆ„λ˜μ–΄ μžˆλ‹€.
(1 <= a,b <= 1,000)

좜λ ₯
각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ— λŒ€ν•΄ μ΅œμ†Œκ³΅λ°°μˆ˜μ™€ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό μ°¨λ‘€λŒ€λ‘œ 좜λ ₯ν•œλ‹€.
*/

#define _CRT_SECURE_NO_WARNINGS
// ν‘œμ€€ μŠ€νŠΈλ¦Όμ—μ„œ 읽기 및 μ“°κΈ°λ₯Ό μ œμ–΄ν•˜λŠ” 개체λ₯Ό μ„ μ–Έ
#include <iostream>
#include <algorithm>    // find
#include <string>
#include <cmath>        // abs
#include <vector>
using namespace std;

// μ΅œλŒ€κ³΅μ•½μˆ˜
int big(int a, int b) {
	if (a % b == 0) {
		return b;
	}
	return big(b, a % b);
}

// μ΅œμ†Œκ³΅λ°°μˆ˜ = A * B / μ΅œλŒ€κ³΅μ•½μˆ˜
int small(int a, int b) {
	return a * b / big(a, b);
}

int main() {
	int n;
	cin >> n;

	for (int i = 0; i < n; i++) {
		int x, y;
		cin >> x >> y;

		cout << small(x, y) << " " << big(x, y) << "\n";
	}

}

728x90
λ°˜μ‘ν˜•
Comments