Shiny Sky Blue Star

백준 문제 풀이/백준 (C)

C 백준 5086 배수와 약수 (약수, 배수와 소수)

gamja00 2024. 6. 30. 13:34

 

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

 


문제

  1. 숫자 두 개를 입력받음
  2. 첫 번째 숫자가 두 번째 숫자의 약수일 때 factor 출력
  3. 첫 번째 숫자가 두 번째 숫자의 배수일 때 multiple 출력
  4. 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아닐 때 neither 출력

 

최종 코드

#include <stdio.h>

int main(void) {
	int n = 1, m = 1; // n과 m이 처음부터 0이면 while문이 돌아가지 않으므로 1으로 설정

	while (n != 0 && m != 0) { // 두 변수로 동시에 0이 들어올 때까지
		scanf_s("%d %d", &n, &m);
		if (n < m) {
			if (m % n == 0) { // 첫 번째 숫자가 두 번째 숫자의 약수일 때
				printf("factor\n");
			}
			else
				printf("neither\n"); // 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아닐 때
		}
		if (n > m) {
			if (n % m == 0) { // 첫 번째 숫자가 두 번째 숫자의 배수일 때
				printf("multiple\n");
			}
			else
				printf("neither\n"); // 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아닐 때
		}
	}

	return 0;
}