연습장/백준(BOJ) 문제풀이
[백준 2609] 최대공약수와 최소공배수 with Node.js
Tesseractjh
2021. 4. 8. 17:00
문제 링크
2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
풀이
const [a, b] = require("fs").readFileSync("/dev/stdin").toString().trim().split(" ").map(i=>parseInt(i));
let i = a;
let j = b;
while (i % j !== 0) {
let n = i % j;
if (n !== 0) {
i = j;
j = n;
}
}
console.log(j)
console.log(a*b/j)
유클리드 호제법을 활용하여 최대공약수를 구한다. 그리고 a, b의 곱을 최대공약수로 나누면 a, b의 최소공배수를 구할 수 있다.