728x90
반응형
문제 요약
- 알고리즘 분류: 수학
- 난이도: Bronz3
- 문제 내용:
- 0 ,0 입력 될때 까지 2개 정수를 입력한다.
- 첫 번째 숫자를 두번째 숫자에 나눠서 떨어지면 약수
- 두번째 숫자를 첫 번째 숫자에 나눠서 떨어지면 배수
- 그 외는 둘 다 아니다를 출력한다.
- 사이트 주소: https://www.acmicpc.net/problem/5086
5086번: 배수와 약수
각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.
www.acmicpc.net
문제 풀이
- while문으로 돌리고 두개의 입력값이 0, 0일때 반복 루프에서 빠져 나온다.
- 첫번째 값 하고 두반째깂에서 첫번째 값이 두번째 값을 나눠서 나머지가 0이면 약수, 두번째 값이 첫번째 값을 나눠서 나머지 0이면 배수 그 외 경우 neither 을 출력한다.
코드
JAVA
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
while(true) {
st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
if(A == 0 && B == 0) {
break;
}else {
if(A % B == 0) {
System.out.println("multiple");
}else if(B % A == 0) {
System.out.println("factor");
}else {
System.out.println("neither");
}
}
}
}
}
PYTHON
import sys
input = sys.stdin.readline
while(1):
A, B = map(int, input().split())
if(A == 0 and B == 0): break;
else:
if(A % B == 0): print('multiple')
elif(B % A == 0): print('factor')
else: print('neither')
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[BAEKJOON] 25501 재귀의 귀재 (2) | 2022.09.10 |
---|---|
[BAEJOON] 1037 약수 (0) | 2022.09.06 |
[BAEJOON] 1358 하키 (0) | 2022.08.26 |
[BAEJOON] 1004 어린 왕자 (0) | 2022.08.23 |
[BAEKJOON] 2738 행렬 덧셈 (0) | 2022.08.22 |