Study/Baekjoon

Baekjoon5086: 배수와 약수

devyoseph 2021. 11. 28. 17:11

배수와 약수 다국어

1 초 128 MB 13901 9469 8891 69.255%

문제

4 × 3 = 12이다.

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

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

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

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

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

입력

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

출력

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

풀이

두 수가 같은 경우는 없으므로 자연수의 입력값 A, B 가 주어지면 두 경우 중 하나이다

1) A > B

2) A < B

약수임을 판별하기 위해 (큰 수 ÷ 작은 수) 로 나눈 나머지가 0인지 확인해준다

즉, (큰 수%작은 수) ==0이면 약수라고 판별한다

삼항 연산자를 활용한다

import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(true) {
			int A = sc.nextInt();
			int B = sc.nextInt();
			if(A==0 && B==0)break;
			else if(A>B) {
				System.out.println(A%B==0?"multiple":"neither");
			}else {
				System.out.println(B%A==0?"factor":"neither");
			}
		}
 }}

'Study > Baekjoon' 카테고리의 다른 글

Baekjoon2609: 최대공약수와 최소공배수  (0) 2021.11.29
Baekjoon1037: 약수  (0) 2021.11.29
Baekjoon2580: 스도쿠  (0) 2021.11.27
Baekjoon14889: 스타트와 링크  (0) 2021.11.18
Baekjoon14888: 연산자 끼워넣기  (0) 2021.11.16