티스토리 뷰
문제링크 : https://www.acmicpc.net/problem/1735
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int A1, B1, A2, B2;
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> A1 >> A2 >> B1 >> B2;
int a = A1*B2 + B1*A2;
int b = A2*B2;
int tmp = gcd(a,b);
cout << a/tmp << " " << b/tmp;
return 0;
}
주어진 값에 따라 공통분모와 그에 대한 분수를 구해준다.
기약 분수를 구해야하기 때문에 구한 분모와 분수에 대해 최대공약수를 GCD를 통해 구해주고,
분모와 분수에 각각 나눠주면 된다.
'백준 > 실버' 카테고리의 다른 글
[백준 9613번] GCD 합 (C++) (0) | 2025.03.27 |
---|---|
[백준 2485번] 가로수 (C++) (0) | 2025.03.27 |
[백준 6603번] 로또 (C++) (0) | 2025.03.21 |
[백준 2529번] 부등호 (C++) (0) | 2025.03.10 |
[백준 10971번] 외판원 순회 2 (C++) (0) | 2025.03.08 |