관리 메뉴

SW

[백준 1735] 분수 합 본문

대학교/Algorithm

[백준 1735] 분수 합

SWKo 2020. 2. 27. 23:00

0. 제목

  • 백준 1735 분수 합
  • BOJ 1735 분수 합
  • C++ 1735 분수 합

1. 문제

https://www.acmicpc.net/problem/1735


2. 풀이

  • 유클리드 호제법을 사용하였다.
  • 유클리드 호제법은 두 정수의 최대 공약수를 구하는 방법이다.
  • 먼저 최대 공약수가 아닌 분모의 곱을 사용하여 합을 구한다.
  • 그 후 분모와 분자의 최대공약수를 유클리드 호제법을 사용하여 구하고 분자와 분모를 최대공약수로 나누어준다.

3. 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
 
int gcd(int x, int y){
    int z = 1;
    while(y != 0){
        z = x % y;
        x = y;
        y = z;
    }
    return x;
}
 
int main(int argc, const char * argv[]) {
    int a, b, c, d;//입력
    int e, f;//출력
    
    cin >> a >> b >> c >> d;
    
    e = a * d + c * b;
    f = b * d;
    
    int min = gcd(e, f);
    e /= min;
    f /= min;
    cout << e << ' ' << f << '\n';;
    return 0;
}
 
 

'대학교 > Algorithm' 카테고리의 다른 글

[백준 1789] 수들의 합  (0) 2020.02.29
[백준 1932] 정수 삼각형  (0) 2020.02.28
[백준 7562] 나이트의 이동  (0) 2020.02.27
[백준 2252] 줄 세우기  (0) 2020.02.27
[백준 9935] 문자열 폭발  (0) 2020.02.26
Comments