[백준] 5086번 배수와 약수 Java 문제 풀이
2023. 3. 20. 18:03ㆍ알고리즘/백준
728x90
반응형
문제풀이
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
interface Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int[] input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
while(input[0] != 0 && input[1] != 1) {
if (input[0] / input[1] > 0 && input[0] % input[1] == 0) {
System.out.println("multiple");
} else if (input[1] / input[0] > 0 && input[1] % input[0] == 0) {
System.out.println("factor");
} else {
System.out.println("neither");
}
input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
}
}
}
첫 번째 수를 A, 두 번째 수를 B라고 하겠습니다.
A를 B로 나눴을 때 몫이 0보다 크고 나머지가 0일 때 A는 B의 배수이고 B는 A의 약수입니다.
그러므로 multiple을 출력해 주면 됩니다.
B를 A로 나눴을 때 몫이 0보다 크고 나머지가 0일 때 B는 A의 배수이고 A는 B의 약수입니다.
factor를 출력해 주면 됩니다.
둘 다 해당되지 않을 경우 neither을 출력합니다.
문제 조건 상 0은 맨 마지막에 나오고 동시에 나옵니다.
그래서 코드상으로 연산할 때 0으로 나누는 일은 발생하지 않습니다.
출처 : https://www.acmicpc.net/problem/5086
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 27323번 직사각형 Java 문제 풀이 (0) | 2023.03.20 |
---|---|
[백준] 9506번 약수들의 합 Java 문제 풀이 (0) | 2023.03.20 |
[백준] 10798번 세로읽기 Java 문제 풀이 (0) | 2023.03.17 |
[백준] 25206번 너의 평점은 Java 문제 풀이 (0) | 2023.03.17 |
[백준] 10988번 팰린드롬인지 확인하기 Java 문제 풀이 (0) | 2023.03.16 |