본문 바로가기
백준

[백준] 5086번 : 배수와 약수 – JAVA [자바]

by Hongwoo 2022. 4. 26.
반응형

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

 

5086번: 배수와 약수

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

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 5086번 배수와 약수는 브론즈 3 난이도의 수학 문제이다. 이 문제에서는 숫자 a 하고 b가 주어진다. 그리고 a가 b의 약수이면 factor를 출력하고 a가 b의 배수이면 multiple을 출력하고 둘 다 아니면 neither를 출력하면 된다.

 

우선 되게 간단하다.

 

a가 b의 약수라는 것은 b를 a로 나눴을 때 나머지가 0이라는 것이다. 즉, b % a == 0이 된다.

 

a가 b의 배수라는 것은 a를 b로 나눴을 때 나머지가 0이라는 것이다. 이것도 마찬가지로 a % b == 0이 된다.

 


  • 코드

 

import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        while (true) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());
            if (a == 0 && b == 0) break;
            if (b % a == 0) {
                sb.append("factor\n");
            } else if (a % b == 0) {
                sb.append("multiple\n");
            } else {
                sb.append("neither\n");
            }
        }
        System.out.print(sb);
    }
}

 


  • 후기

되게 쉬운 간단한 수학 문제였다.

 

반응형

댓글