백준 문제풀기/JAVA
[백준 1735 JAVA 자바] 분수 합
냉동피자
2023. 7. 30. 20:33
두 분수의 합을 기약분수로 구하는 프로그램을 작성하시오
기약분수는 더 이상 약분되지 않는 분수를 의미합니다
1. 나누지말고 통분의 과정을 이용해 두 분수를 더합시다
2. 약분 = 분자와 분모의 공약수를 나누는 과정
3. 공약수가 1밖에 남지 않았을 때까지 나누거나, 최대공약수로 나누면 되겠죠
코드입니다
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[][] arr = new int[2][2];
for(int i=0;i<2;i++) {
String line = br.readLine();
StringTokenizer st = new StringTokenizer(line);
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
int bj = arr[0][1]*arr[1][0]+arr[0][0]*arr[1][1];
int bm = arr[0][1]*arr[1][1];
System.out.println(bj/gcd(bj,bm)+" "+bm/gcd(bj,bm));
}
static int gcd(int a, int b) {
while (b != 0) {
int r = a%b;
a=b;
b=r;
}
return a;
}
}
int bj = ;
int bm = ;
은 통분하는 과정입니다
static int gcd()함수는
최대공약수를 구해주는 함수입니다