728x90
반응형
https://www.acmicpc.net/problem/1735
분수의 분자,분모를 각각 따로 변수에 저장하고
두 분수를 합한 값도 분자,분모를 따로 변수에 저장 해 둔다.
그리고 반복문을 이용해서 분자,분모를 나누어 줄 것인데,
for반복문을 이용, 2부터 시작해서
분자,분모가 모두 나누어 떨어지는 경우에는
나눌 수 있는 만큼 while문을 이용하여 모두 나누어주면 된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class P1735 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a_top = Integer.parseInt(st.nextToken());
int a_bottom = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
int b_top = Integer.parseInt(st.nextToken());
int b_bottom = Integer.parseInt(st.nextToken());
int c_top = (a_top * b_bottom) + (b_top * a_bottom);
int c_bottom = a_bottom * b_bottom;
for (int i = 2; i <= (c_top < c_bottom ? c_top : c_bottom); i++) {
// i는 c의 분자,분모 중 더 작은숫자까지 증가
while (c_top % i == 0 && c_bottom % i == 0) {
c_top /= i;
c_bottom /= i;
}
}
System.out.println(c_top + " " + c_bottom);
}
}
728x90
반응형
'코딩 > 백준-자바' 카테고리의 다른 글
[자바] 백준 6588번: 골드바흐의 추측 (0) | 2023.01.30 |
---|---|
[자바] 백준 11653: 소인수분해 (0) | 2023.01.30 |
[자바] 백준 2252번: 줄 세우기 (0) | 2023.01.29 |
[자바] 백준 1717번: 집합의 표현 (0) | 2023.01.28 |
[자바] 백준 2042번: 구간합 구하기(실패) (0) | 2023.01.28 |
댓글