suheang

[백준] | JAVA, 자바 | 5086번 - 배수와 약수 본문

알고리즘

[백준] | JAVA, 자바 | 5086번 - 배수와 약수

suheang 2024. 2. 23. 23:15

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

 

5086번: 배수와 약수

각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.

www.acmicpc.net


문제 요약 :

두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성.

1. 첫번째 숫자가 두번째 숫자의 약수이다. ( factor 출력)

2. 첫번째 숫자가 두번째 숫자의 배수이다. ( multiple 출력)

3. 첫번째 숫자가 두번째 숫자의 약수와 배수 모두 아니다. ( neither 출력)

마지막 줄에 0이 2개 주어지면 종료


문제 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

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

        while (true) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int numN = Integer.parseInt(st.nextToken());
            int numM = Integer.parseInt(st.nextToken());

            if(numN == 0 && numM == 0) {
                break;
            }

            if (numM % numN == 0) {
                System.out.println("factor");
            } else if (numN % numM == 0) {
                System.out.println("multiple");
            } else {
                System.out.println("neither");
            }
        }
    }
}

 

1. 첫 번째 숫자와 두 번째 숫자 입력 받기

2. 두 숫자가 0이면 종료

3. 입력 받은 숫자를 계산해 약수, 배수, 둘 다 아닌 경우 출력