while True:
a, b = map(int, input().split())
if a == 0 and b == 0:
break
if b % a == 0:
print("factor")
elif a % b == 0:
print("multiple")
else:
print("neither")
이 코드는 두 수가 주어졌을 때 약수, 배수 관계를 판단하는 프로그램이다.
입력은 여러 줄로 주어지며 0 0 이 입력되면 프로그램이 종료된다.
1. 무한 반복문
while True:
입력이 여러 테스트 케이스로 계속 들어오기 때문에, 종료 조건이 나올 때까지 반복문을 계속 실행한다.
2. 여러 정수 입력 받기
a, b = map(int, input().split())
한 줄에서 두 개의 숫자를 입력받는다.
사용된 개념
- input() : 문자열 입력
- split() : 공백 기준 문자열 분리
- map(int, ... : 문자열을 정수로 변환
3. 종료 조건
if a == 0 and b == 0:
break
문제에서 마지막 입력이 0 0 이라고 명시되어 있다.
따라서 두 값이 모두 0이면 반복문을 종료한다.
break : 현재 반복문을 즉시 종료하는 명령어이다.
4. 약수/배수/둘 다 아닌 경우 판별
if b % a == 0:
print("factor")
elif a % b == 0:
print("multiple")
else:
print("neither")
%는 나머지 연산자이다.
즉, a % b로 나누어 떨어지면 배수관계, b % a로 나누어 떨어지면 약수 관계를 의미한다.
'backjeon > Bronze' 카테고리의 다른 글
| Baekjoon(백준) - 2903 (중앙 이동 알고리즘) | Python (0) | 2026.03.17 |
|---|---|
| Baekjoon(백준) - 10798 (세로읽기) | Python (0) | 2026.03.14 |
| Baekjoon(백준) - 2566 (최댓값) | Python (0) | 2026.03.13 |
| Baekjoon(백준) - 2738 (행열 덧셈) | Python (0) | 2026.03.12 |
| Baekjoon(백준) - 3003 (킹, 퀸, 룩, 비숍, 나이트, 폰) | Python (0) | 2026.03.11 |