dh-winternagi 님의 블로그
(1735) 분수 합 본문
https://www.acmicpc.net/problem/1735
단계별로 풀어보기
15단계(약수, 배수와 소수 2) 3번째
a1/a2 + b1/b2 = (a1*b2)/(a2*b2) + (b1*a2)/(a2*b2) = (a1*b2+b1*a2)/(a2*b2)이고 기약분수로 나타내라고 했으므로 분자와 분모의 gcd를 구해 나눠주면 된다.

#include <iostream>
using namespace std;
int gcd(int a, int b){
pair<int,int> p= {a,b};
while(p.second) p= {p.second, p.first%p.second};
return p.first;
}
int main()
{
int a1, a2, b1, b2;
cin >> a1 >> a2 >> b1 >> b2;
int x= gcd(a1*b2+a2*b1, a2*b2);
cout << (a1*b2+a2*b1)/x << " " << a2*b2/x;
return 0;
}'백준 (C++) > Solve' 카테고리의 다른 글
| (4134) 다음 소수 (0) | 2026.04.15 |
|---|---|
| (2485) 가로수 (0) | 2026.04.15 |
| (13241) 최소공배수 (0) | 2026.04.14 |
| (1934) 최소공배수 (0) | 2026.04.14 |
| (11478) 서로 다른 부분 문자열의 개수 (0) | 2026.04.14 |
