[백준 1735] 분수 합

alsry._.112·2023년 9월 25일
0

백준

목록 보기
65/102

🔗문제 풀러가기
단계별로 풀어보기 단계 15의 3번째 문제이다.

문제 분석

유클리드 호제법을 이용하여 문제를 해결하였다.

코드

#include <iostream>
using namespace std;

long Gcd(int a, int b)
{
    while (b != 0)
    {
        int c = a % b;
        a = b;
        b = c;
    }
    return a;
}

int main()
{
    int denominator, numerator;
    int a, b, c, d;
    cin >> a >> b;
    cin >> c >> d;

    denominator = b * d;
    numerator = (a * d) + (c * b);

    int min = Gcd(numerator, denominator);
    denominator /= min;
    numerator /= min;

    cout << numerator << " " << denominator;
}

해석

  1. 두 분수의 분모와 분자를 입력받아 분수를 통분해서 더해준다.
  2. 두 수를 Gcd 함수를 이용해서 최대공약수를 구해 기약분수로 만든다.
  3. 이렇게 얻은 분자와 분모를 출력하면 끝!
profile
소통해요

0개의 댓글