문제
분수 A/B는 분자가 A, 분모가 B인 분수를 의미한다. A와 B는 모두 자연수라고 하자.
두 분수의 합 또한 분수로 표현할 수 있다. 두 분수가 주어졌을 때, 그 합을 기약분수의 형태로 구하는 프로그램을 작성하시오. 기약분수란 더 이상 약분되지 않는 분수를 의미한다.
입력
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 둘째 줄부터 T개의 줄에 걸쳐서 A와 B가 주어진다. (1 ≤ A, B ≤ 45,000)
출력
첫째 줄부터 T개의 줄에 A와 B의 최소공배수를 입력받은 순서대로 한 줄에 하나씩 출력한다.
Solution.js
const gcd = (a, b) => {
if (b === 0) return a;
return gcd(b, a % b);
};
const [N, ...input] = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
const result = [];
for (const v of input) {
const [a, b] = v.split(" ").map((i) => parseInt(i));
const lcm = (a * b) / gcd(a, b);
result.push(lcm);
}
console.log(result.join("\n"));
출처 : Baekjoon online judge, https://www.acmicpc.net/problem/1934
'Algorithm > Baekjoon' 카테고리의 다른 글
(JS) [Baekjoon 1193 - 분수찾기] - 2023. 6.19.(월) (0) | 2023.06.19 |
---|---|
(JS) [Baekjoon 2908 - 상수] - 2023. 6.18.(일) (0) | 2023.06.18 |
(JS) [Baekjoon 1735 - 분수 합] - 2023. 5.31.(수) (1) | 2023.05.31 |
(JS) [Baekjoon 2108 - 통계학] - 2023. 5.30.(화) (1) | 2023.05.30 |
(JS) [Baekjoon 20920 - 영단어 암기는 괴로워] - 2023. 5.26.(금) (0) | 2023.05.26 |