티스토리 뷰

알고리즘/백준

[BAEJOON] 5058 배수와 약수

응애~ 개발자 2022. 9. 6. 11:21
728x90
반응형

문제 요약

  • 알고리즘 분류: 수학
  • 난이도: Bronz3
  • 문제 내용:
    • 0 ,0 입력 될때 까지 2개 정수를 입력한다.
    • 첫 번째 숫자를 두번째 숫자에 나눠서 떨어지면 약수
    • 두번째 숫자를 첫 번째 숫자에 나눠서 떨어지면 배수
    • 그 외는 둘 다 아니다를 출력한다.
  • 사이트 주소: https://www.acmicpc.net/problem/5086
 

5086번: 배수와 약수

각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.

www.acmicpc.net

문제 풀이

  1. while문으로 돌리고 두개의 입력값이 0, 0일때 반복 루프에서 빠져 나온다. 
  2.  첫번째 값 하고 두반째깂에서 첫번째 값이 두번째 값을 나눠서 나머지가 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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함