문제 바로가기> 백준 1735번: 분수 합
유클리드 알고리즘을 이용하여 GCD(최대 공약수)를 구한 후, 이를 이용하여 기존 값을 나누어 기약분수를 만들어 주었다.
#include <iostream>
using namespace std;
int main(){
int a1, b1, a2, b2; cin>>a1>>b1>>a2>>b2;
int a=a1*b2+a2*b1, b=b1*b2;
a1=a; b1=b;
while (b1>0){
int tmp = a1;
a1 = b1;
b1 = tmp%a1;
}
cout << a/a1 << ' ' << b/a1;
}