Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
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
Archives
Today
Total
관리 메뉴

코딩로그

[백준/BOJ/C++] 5086번 배수와 약수 본문

YJ/C++

[백준/BOJ/C++] 5086번 배수와 약수

Team DAON 2021. 10. 22. 14:15

[문제]

4 × 3 = 12이다.

이 식을 통해 다음과 같은 사실을 알 수 있다.

3은 12의 약수이고, 12는 3의 배수이다.

4도 12의 약수이고, 12는 4의 배수이다.

두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오.

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

 

[입력]

입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 10,000이 넘지않는 두 자연수로 이루어져 있다. 마지막 줄에는 0이 2개 주어진다. 두 수가 같은 경우는 없다.

 

[출력]

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

 

[Source Code]

#include <stdio.h>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
	vector<int> result;

	while(true){
		int a, b;
		cin >> a >> b;
		if(a == 0 && b == 0)
			break;
		else if(b % a == 0)
			result.push_back(1);
		else if(a % b == 0)
			result.push_back(2);
		else
			result.push_back(3);
	}

	for(int i = 0; i < result.size(); i++){
		if(result[i] == 1)
			cout << "factor";
		else if(result[i] == 2)
			cout << "multiple";
		else
			cout << "neither";
		cout << "\n";
	}
}

[결과 화면]

'YJ > C++' 카테고리의 다른 글

[백준/BOJ/C++] 19602번 Dog Treats  (0) 2021.10.22
[백준/BOJ/C++] 17009번 Winning Score  (0) 2021.10.22
[백준/BOJ/C++] 14920번 3n+1 수열  (0) 2021.10.22
[백준/BOJ/C++] 10569번 다면체  (0) 2021.10.21
[백준/BOJ/C++] 15969번 행복  (0) 2021.10.21