티스토리 뷰

https://www.acmicpc.net/problem/2609

 

2609번: 최대공약수와 최소공배수

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

www.acmicpc.net

const fs = require('fs');
const input = fs.readFileSync("./dev/stdin").toString().trim().split(" ");

const nums = input.map(v => +v);
const gcd = Euclidean(nums[0], nums[1])
console.log(gcd)
const lcm = LCM(gcd, nums[0], nums[1])
console.log(lcm)

function Euclidean(a, b) {
  let x;
  let y;
  if (a > b) {
    x = a; y = b;
  } else {
    x = b; y = a;
  }
  let r;
  while (y != 0) {
    r = x % y;
    x = y;
    y = r;
  }
  return x;
}

function LCM(gcd, a, b) {
  return (a * b / gcd);
}
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함