본문 바로가기
백준(Baekjoon)

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

by IT 정복가 2022. 5. 9.
728x90

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

 

5086번: 배수와 약수

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

www.acmicpc.net


[문제]


[코드]

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	
		while(true) {
			int num1 = sc.nextInt();
			int num2 = sc.nextInt();
			
			if(num1 == 0 && num2 == 0)
				break;
			else if (num2%num1 == 0)
				System.out.println("factor");
			else if(num1%num2 == 0)
				System.out.println("multiple");
			else
				System.out.println("neither");
				
		}
		sc.close();
	}
}

[설명]

1. 0 0을 입력하기 전까지는 계속 입력을 받아야 하기 때문에 while문으로 코드를 작성해 준다.

2. while문 안에 우선 두 수를 입력받는다.

3. 만약 0 0이 입력이 된다면 프로그램을 멈춰야 하기때문에 break문을 작성해준다.

4. 첫 번째 수가 두 번째 수의 약수라면 (두번째 수)%(첫 번째 수)가 0이 되기 때문에 if-else문을 통해 작성해준다.

5. 첫 번째 수가 두 번째 수의 배수라면 (첫 번째 수)%(두 번째 수)가 0이 되기 때문에 if-else문을 통해 작성해준다.

6. 둘 다 아니라면 else문을 통해 neither를 출력해 준다. 


[결과]

728x90