본문 바로가기
BaekJoon/Silver

[BOJ/JAVA] 백준 1735 : 분수 합 (자바)

by HoonSikE 2023. 3. 28.
반응형
SMALL
문제 정보
  문제명   - 분수 합
  난이도   - 실버 III
문제 번호 - 1735번

문제 링크

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

 

1735번: 분수 합

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

www.acmicpc.net


문제
분수 A/B는 분자가 A, 분모가 B인 분수를 의미한다. A와 B는 모두 자연수라고 하자.
두 분수의 합 또한 분수로 표현할 수 있다. 두 분수가 주어졌을 때, 그 합을 기약분수의 형태로 구하는 프로그램을 작성하시오. 기약분수란 더 이상 약분되지 않는 분수를 의미한다.

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

출력
첫째 줄에 구하고자 하는 기약분수의 분자와 분모를 뜻하는 두 개의 자연수를 빈 칸을 사이에 두고 순서대로 출력한다.

예제 입력/출력
예제 입력 예제 출력
2 7
3 5
31 35

알고리즘 분류
● 수학
● 정수론
● 유클리드 호제법


소스코드
package Lv2_Silver;

import java.io.*;
import java.util.*;

/**
 * @author HanHoon
 * @category 수학, 정수론, 유클리드 호제법
 * https://www.acmicpc.net/problem/1735
 */
public class BOJ_S3_1735_분수_합 {
    // 유클리드 호제법
    public static int gcd(int a, int b){
        // a > b인 경우에 실행
        if(a <= b){
            int tmp = a;
            a = b;
            b = tmp;
        }
        if(b==0)
            return a;

        return gcd(b, a%b);
    }
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = null;
        StringBuilder str = new StringBuilder();

        int[] num = new int[4];
        for (int n = 0; n < 4; n=n+2){
            st = new StringTokenizer(br.readLine());
            num[n] = Integer.parseInt(st.nextToken());
            num[n+1] = Integer.parseInt(st.nextToken());
        }

        int a = num[0]*num[3] + num[1]*num[2];
        int b = num[1]*num[3];

        int mod = gcd(a, b);
        a /= mod;
        b /= mod;

        str.append(a+" "+b);

        System.out.print(str);
        br.close();
    }
}

 


BaekJoon List
 

BaekJoon List

BOJ Start!! ● [BOJ] 백준 회원가입, 시작하는 법 ● [BOJ] 등급(티어) 및 Solved.AC 적용 ● [BOJ/JAVA] 백준 소스코드 제출 시 유의사항(자바) Bronze ● Bronze V  - ● Bronze IV  - ● Bronze III  -..

han-hoon.tistory.com


  

기회는 준비된 자에게 찾아온다.

 


 

반응형
LIST

댓글