본문 바로가기
Algorithm/BackJoon

1735번: 분수 합

by 꼬부기가우는소리 2023. 6. 20.
728x90

 

- 관련 사이트: https://www.acmicpc.net/problem/1735

 

1735번: 분수 합

첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다.

www.acmicpc.net

 

2개의 분수가 주어졌을 때, 두 분수의 합을 기약분수로 나타내는 문제이다.

 

1) 입력받은 두 분수의 합 계산

    입력받은 분수: a/b, c/d

    분자 = a * d + c * b

    분모 = b * d

2) 계산된 분자, 분모의 최대공약수 계산: 유클리드 호제법 이용

3) 계산된 분자, 분모를 각각 최대공약수로 나눔 == 기약분수

 

#include <iostream>
using namespace std;

int gcd(int a, int b)
{
    return b ? gcd(b, a%b) : a;
}

int main()
{
    long long int a, b, c, d, nume, deno;
    cin >> a >> b >> c >> d;
    nume = a * d + c * b;
    deno = b * d;
    
    a = gcd(nume, deno);
    cout << nume / a << " " << deno / a;
    
    return 0;
}

- 메모리: 2020 KB

- 시간: 0 ms

- 코드 길이: 320 B

728x90

'Algorithm > BackJoon' 카테고리의 다른 글

15733번: 나는 누구인가  (0) 2023.06.23
4134번: 다음 소수  (0) 2023.06.23
1436번: 영화감독 숌  (0) 2023.06.15
1018번: 체스판 다시 칠하기  (0) 2023.06.14
15964번: 이상한 기호  (0) 2023.06.14

댓글