728x90
문제 1735번
https://www.acmicpc.net/problem/1735
일단 분수의 분모끼리 곱해준 수를 분모로 정하여 분수를 계산한다. 그리고 분자와 분모에 A, B값으로 구한 최대공약수를 각각 나눠준다. 그러면 더 이상 약분되지 않는 분수인 기약분수로 만들 수 있다.
#include <iostream>
using namespace std;
int gcd(int x, int y) {//최대공약수
if (y == 0) {
return x;
}
else {
return gcd(y, x % y);
}
}
int main() {
int a, b, aa, bb;
cin >> a >> b >> aa >> bb;
int A = a * bb + aa * b;
int B = b * bb;
cout << A / gcd(A, B) << ' ' << B / gcd(A, B);
return 0;
}
728x90
'백준 > C++' 카테고리의 다른 글
[C++] 백준 1075번 - 나누기 (0) | 2024.07.18 |
---|---|
[C++] 백준 9063번 - 대지 (0) | 2024.07.16 |
[C++] 백준 25192번 - 인사성 밝은 곰곰이 (0) | 2024.07.14 |
[C++] 백준 15894번 - 수학은 체육과목 입니다 (0) | 2024.07.12 |
[C++] 백준 2667번 - 단지번호붙이기 (0) | 2024.07.11 |