[백준2609_자바스크립트(javascript)] - 최대공약수와 최소공배수

경이·2024년 8월 7일

𝑩𝑶𝑱 (𝒋𝒔)

목록 보기
111/325

🔴 문제

최대공약수와 최소공배수


🟡 Sol

const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'Wiki\\input.txt';
const [a, b] = fs
  .readFileSync(path)
  .toString()
  .trim()
  .split(' ')
  .map(Number)
  .sort((a, b) => a - b);

for (let i = a; i > 0; i--) {
  if (b % i === 0 && a % i === 0) {
    console.log(i);
    console.log(i * (a / i) * (b / i));

    break;
  }
}

🟢 풀이

⏰ 소요한 시간 : 5분

두 수의 최대 공약수를 먼저 구해준다. a가 작은수 b를 큰 수로 입력받고 a부터 0까지 반복하여 b의 약수이면서 a의 약수인 i를 찾는다. 예를들어 입력이 1224라면 첫 반복만에 if문에 걸릴 것이다. 발견하면 i가 최대공약수일테니 바로 출력해주고, 최소공배수를 구해주면 된다. 최소공배수는 ab를 각각 i로 나눈 값과 i를 곱해주면 된다.


🔵 Ref

profile
록타르오가르

0개의 댓글