https://www.acmicpc.net/problem/5086
5086번: 배수와 약수
각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.
www.acmicpc.net
문제
4 × 3 = 12이다.
이 식을 통해 다음과 같은 사실을 알 수 있다.
3은 12의 약수이고, 12는 3의 배수이다.
4도 12의 약수이고, 12는 4의 배수이다.
두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오.
- 첫 번째 숫자가 두 번째 숫자의 약수이다.
- 첫 번째 숫자가 두 번째 숫자의 배수이다.
- 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다.
입력
입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 10,000이 넘지않는 두 자연수로 이루어져 있다. 마지막 줄에는 0이 2개 주어진다. 두 수가 같은 경우는 없다.
출력
각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.
핵심
1.scanner를 통해 int형 변수 두개를 입력받는다.
2. 0이들어오면 무한반복문을 빠져나간다.
3. num1이 num2의 약수이려면 num2에서 num1로 나눴을때 나누어 떨어져야한다.
4. num1이 num2의 배수이려면 num1에서 num2로 나누었을때 나누어 떨어져야한다.
5.그외에는 neither출력
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
while(true){
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
if(num1 == 0 && num2 == 0){
break;
}
if(num2%num1==0){
System.out.println("factor");
}else if(num1 % num2 == 0){
System.out.println("multiple");
}else{
System.out.println("neither");
}
}
}
}
'Algorithm' 카테고리의 다른 글
| [백준 알고리즘 JAVA] 9506번 약수들의 합 (1) | 2024.04.14 |
|---|---|
| [백준 알고리즘 JAVA] 2501번 약수 구하기 (2) | 2024.04.14 |
| [백준 알고리즘 JAVA] 1259번 팰린드롬수 (0) | 2024.04.12 |
| [백준 알고리즘 JAVA] 10250번 ACM 호텔 (2) | 2024.04.12 |
| [백준 알고리즘 JAVA] 8958번 OX퀴즈 (1) | 2024.04.12 |