-
[1735] 분수 합BOJ 2021. 11. 27. 12:32
https://www.acmicpc.net/problem/1735
1735번: 분수 합
첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다.
www.acmicpc.net
<문제>
30000*30000<=INT_MAX이므로 그냥 통분해주면 된다.
분모는 분모끼리 곱해두고, 분자는 반대편 분모랑 곱해주어서 각각 더해준다.
여기까지가 두 분수를 더해준 과정이고, 이 분수는 기약분수라는 보장이 없으므로
이 부분에 대한 처리만 별도로 진행하면 된다.
<소스코드>
123456789101112131415#include <bits/stdc++.h>using namespace std;int a, b, c, d;int main(void) {cin >> a >> b >> c >> d;int i, down = b * d, up = (a * d) + (b * c);for (i = 2; i * i <= up; i++) {while (up % i == 0 && down % i == 0) {up /= i;down /= i;}}cout << up << " " << down;return 0;}cs 'BOJ' 카테고리의 다른 글
[15664] N과 M (10) (0) 2021.11.29 [1253] 좋다 (0) 2021.11.28 [1015] 수열 정렬 (0) 2021.11.27 [18429] 근손실 (0) 2021.11.27 [14852] 타일 채우기 3 (0) 2021.11.19