본문 바로가기
코딩테스트/백준

JAVA 백준 5086번 배수와 약수

by 광고(주) 2022. 7. 7.
반응형

문제

4 × 3 = 12이다.

이 식을 통해 다음과 같은 사실을 알 수 있다.

3은 12의 약수이고, 12는 3의 배수이다.

4도 12의 약수이고, 12는 4의 배수이다.

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

  1. 첫 번째 숫자가 두 번째 숫자의 약수이다.
  2. 첫 번째 숫자가 두 번째 숫자의 배수이다.
  3. 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다.

입력

입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 10,000이 넘지않는 두 자연수로 이루어져 있다. 마지막 줄에는 0이 2개 주어진다. 두 수가 같은 경우는 없다.

출력

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

예제 입력 1

8 16
32 4
17 5
0 0

예제 출력 1

factor
multiple
neither

알고리즘 분류

사칙연산(arithmetic), 수학(math)

소스코드

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

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));
        StringTokenizer in;
        while (true) {
            in = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(in.nextToken());
            int b = Integer.parseInt(in.nextToken());
            if (a == 0) break;

            if (b % a == 0) {
                bw.write("factor\n");
            } else if (a % b == 0) {
                bw.write("multiple\n");
            } else {
                bw.write("neither\n");
            }
        }
        bw.flush();
    }
}

 

반응형

'코딩테스트 > 백준' 카테고리의 다른 글

JAVA 백준 2981번 검문  (0) 2022.07.07
JAVA 백준 1037번 약수  (0) 2022.07.07
JAVA 백준 1358번 하키  (0) 2022.07.07
JAVA 백준 1004번 어린 왕자  (0) 2022.07.07
JAVA 백준 1002번 터렛  (0) 2022.07.06

댓글