코테/백준
5086번 배수와 약수
jhss9747
2025. 2. 5. 21:13
https://www.acmicpc.net/problem/5086
두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오.
- 첫 번째 숫자가 두 번째 숫자의 약수이다.
- 첫 번째 숫자가 두 번째 숫자의 배수이다.
- 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다.
약수와 배수를 구하는 문제로써
- A 가 B의 약수 -> B/A 의 나머지가 0이면 약수
- A 가 B의 배수 -> A/B 의 나머지가 0이면 배수
- 모두 아니라면 약수와 배수가 모두 아니다
라고 생각했고 이를 코드로 구현하면 다음과 같다.
import java.util.Scanner;
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;
if(b%a == 0){
System.out.println("factor");
}
else if(a%b == 0){
System.out.println("multiple");
}
else{
System.out.println("neither");
}
}
}
}
while문으로 무한 반복으로 입력을 받고, a와 b가 모두 0일때 입력을 멈추기로 했다.
그 외에 조건들은 모두 if문으로 나누어주었다.