kakasoo

[node.js] 최대공약수와 최소공배수 ( 백준 2609번 ) 본문

프로그래밍/알고리즘 풀이

[node.js] 최대공약수와 최소공배수 ( 백준 2609번 )

카카수(kakasoo) 2021. 4. 5. 18:15
반응형
const readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

rl.on("line", (line) => {
    main(line);
    rl.close();
}).on("close", () => {
    process.exit();
});

const gcd = (A, B) => {
    if (B === 0) {
        return A;
    } else {
        return gcd(B, A % B);
    }
};

/**
 *
 * @param {string} line
 */
const main = (line) => {
    const [A, B] = line.split(" ").map(Number);
    const gcdValue = gcd(A, B);
    const lcdValue = gcdValue * (A / gcdValue) * (B / gcdValue);
    console.log(gcdValue);
    console.log(lcdValue);
};

DP만 풀다가 수학을 푸니까 마음이 편해진다. 그렇지만 결코 가벼운 내용은 아니다. 유클리드 호제법은 암기한다.

반응형