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;
}