백준 9613 GCD 합 (수학)

bkboy·2022년 6월 15일
0

백준 초급

목록 보기
67/80

문제

풀이

let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
const N = +input.shift();
const getGCD = (a, b) => {
  if (a % b === 0) return b;
  return getGCD(b, a % b);
};
const sol = (arr) => {
  let n = arr.shift();
  let sum = 0;
  arr.sort((a, b) => b - a);

  arr.forEach((e, i) => {
    while (i < arr.length - 1) {
      sum += getGCD(e, arr[++i]);
    }
  });

  return sum;
};
input.forEach((e) => {
  console.log(sol(e.split(" ").map(Number)));
});
  • 최대공약수 응용 문제이다.
profile
음악하는 개발자

0개의 댓글