문제
풀이
기약분수의 분모는 두 분모의 최소공배수이고, 분자는 서로의 분자와 분모를 곱한 값 2개를 더한 값을 최대공약수로 나눈 값이다.
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (b == 0) return a;
return gcd(b, a % b);
}
int main() {
int a1, a2, b1, b2;
cin >> a1 >> a2 >> b1 >> b2;
int num1 = (a1 * b2) + (a2 * b1);
int num2 = a2 * b2;
cout << num1 / gcd(num1, num2) << " " << num2 / gcd(num1, num2);
return 0;
}
'백준 > 약수, 배수와 소수' 카테고리의 다른 글
4134번: 다음 소수 [C++] (0) | 2023.03.29 |
---|---|
2485번: 가로수 [C++] (0) | 2023.03.29 |
13241번: 최소공배수 [C++] (0) | 2023.03.29 |
1934번: 최소공배수 [C++] (0) | 2023.03.29 |
1085: 직사각형에서 탈출 / C++ (0) | 2023.03.20 |