Java/코딩테스트

[백준] 5086번: 배수와 약수 (JAVA)

다아빈 2025. 5. 2. 00:06
728x90
반응형

문제: https://www.acmicpc.net/problem/5086

문제 접근

문제에서 주어진 대로,, 풀었습니다!

입력 받는 숫자를 차례로 num1, num2라고 하였을 때

  1. num1, num2가 둘 다 0일 경우: 종료
  2. num2를 num1으로 나눴을 때 나머지가 0인 경우(num2%num1==0): factor 출력
  3. num1을 num2로 나눴을 때 나머지가 0인 경우(num1%num2==0): multiple 출력
  4. 아무것도 만족하지 않는 경우: neither 출력

전체 코드

import java.io.*;

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        while(true) {
            String input = br.readLine();
            int num1 = Integer.parseInt(input.split(" ")[0]);
            int num2 = Integer.parseInt(input.split(" ")[1]);

            if(num1 == 0 && num2 == 0) return; // 0 0 이 입력되면 종료

            if(num2 > num1 && (num2 % num1) == 0) {
                bw.write("factor\n");
            } else if (num1 > num2 && (num1 % num2) == 0) {
                bw.write("multiple\n");
            } else bw.write("neither\n");

            bw.flush();
        }
    }
}
728x90
반응형