728x90
문제
4 × 3 = 12이다.
이 식을 통해 다음과 같은 사실을 알 수 있다.
3은 12의 약수이고, 12는 3의 배수이다.
4도 12의 약수이고, 12는 4의 배수이다.
두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오.
- 첫 번째 숫자가 두 번째 숫자의 약수이다.
- 첫 번째 숫자가 두 번째 숫자의 배수이다.
- 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다.
풀이
어떤 수를 약수로 나누면 나머지가 0이라는 것을 이용하였다.
코드
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));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
while(true) {
st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
if(a == b && 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.println(sb);
}
}
틀린 부분이 있다면 정정해주시면 감사하겠습니다.
궁금한 부분이 있거나, 다른 아이디어가 있으시면 자유롭게 댓글 남겨주세요!
728x90
'[JAVA]백준 알고리즘 > 단계별 - 정수론 및 조합론' 카테고리의 다른 글
[JAVA]백준 알고리즘 3036번 : 링 (4) | 2022.12.21 |
---|---|
[JAVA]백준 알고리즘 2981번 : 검문 (0) | 2022.12.21 |
[JAVA]백준 알고리즘 1934번 : 최소공배수 (2) | 2022.12.20 |
[JAVA]백준 알고리즘 2609번 : 최대공약수와 최소공배수 (0) | 2022.12.18 |
[JAVA]백준 알고리즘 1037번 : 약수 (0) | 2022.12.17 |