백준 1735 - 분수합 (C++)

강승구·2023년 1월 18일
0

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

두 분수가 주어졌을 때 합을 계산하고 기약분수로 출력하는 문제

최대공약수를 계산하는 함수를 만들었고 분모는 입력받은 두 분모값을 곱하였고 분자는 최대공약수와 입력받은 분자를 곱한 뒤 더해주었다.
마지막으로 분자와 분모를 최대공약수로 나누어 계산해주었다.

#include <iostream>

using namespace std;

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

int main(){
    int x1, x2, y1, y2, x, y;
    cin >> x1 >> y1;
    cin >> x2 >> y2;
    
    y = y1*y2;
    x = x1*y2 + x2*y1;
    
    int gcd = GCD(x, y);
    
    cout << x/gcd << " " << y/gcd;
}
profile
강승구

0개의 댓글