javascript 분수계산 후 기약분수로

cheonbi·2025년 9월 2일

JavaScript

목록 보기
2/3

a/b + c/d를 계산시

ad + bc / bd 계산 후

ad+bc와 bd의 최대공약수를 구하여 나누면 기약분수로 표현할 수 있다

  1. 분수 계산 공식에 따라 두 분수 더하기
  2. sum 값 분수에 대한 분자와 분모의 최대공약수 구하기
  3. 최대공약수로 분모 및 분자 나누기
const gcd = (a, b) => {
  return b === 0 ? a : gcd(b, a % b);
}


const addFractions = (frac1, frac2) =>  {
  // 분수1: [분자, 분모]
  const numerator1 = frac1[0];
  const denominator1 = frac1[1];
  
  // 분수2: [분자, 분모]
  const numerator2 = frac2[0];
  const denominator2 = frac2[1];
  
  // 분자 계산: (분자1 * 분모2) + (분자2 * 분모1)
  const resultNumerator = (numerator1 * denominator2) + (numerator2 * denominator1);
  
  // 분모 계산: 분모1 * 분모2
  const resultDenominator = denominator1 * denominator2;
  
  // 최대공약수 계산
  const commonDivisor = gcd(resultNumerator, resultDenominator);
  
  // 기약분수로 변환하여 반환
  return [resultNumerator / commonDivisor, resultDenominator / commonDivisor];
}
profile
Just a resting young man

0개의 댓글