[백준] 5086 배수와 약수 Python

2024. 6. 19. 20:16Python/백준

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

 

📝  문제

4 × 3 = 12이다.
이 식을 통해 다음과 같은 사실을 알 수 있다.
3은 12의 약수이고, 12는 3의 배수이다.
4도 12의 약수이고, 12는 4의 배수이다.
두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오.

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

 

🔎  풀이

입력 받은 수를 각각 a, b라고 할 때,

a % b == 0인 경우(a와 b의 나눗셈 연산 결과가 나누어 떨어지는 경우) 1의 조건을 만족한다.

b % a == 0인 경우(b와 a의 나눗셈 연산 결과가 나누어 떨어지는 경우) 2의 조건을 만족한다.

두 경우 모두 해당되지 않는 경우 3의 조건을 만족한다.

 

💻  코드

while True:
    a, b = map(int, input().split())
    if a == 0 and b == 0:
        break

    state = "neither"
    if b % a == 0:
        state = "factor"
    if a % b == 0:
        state = "multiple"

    print(state)