- 문제
- 풀이
#include<iostream>
using namespace std;
void run(int x, int y)
{
// 1. x가 y의 약수이다.
if (y % x == 0)
{
cout << "factor" << '\n';
}
// 2. x가 y의 배수이다.
else if (x % y == 0)
{
cout << "multiple" << '\n';
}
// 3. 앞의 두 경우에 전부 해당하지 않는 경우
else
{
cout << "neither" << '\n';
}
}
int main()
{
int x = 0, y = 0;
while (true)
{
cin >> x >> y;
if ((x == 0) && (y == 0))
{
break;
}
run(x, y);
}
return 0;
}
- 메모
나머지 연산을 사용해서 입력받은 값이 첫 번째 값과 두 번째 값의 약수 혹은 배수 관계에 있는지 판별한다.
서로 약수 관계인 경우 두 번째 값에 첫 번째 값을 나머지 연산한 결과가 남지 않고 딱 맞아떨어져야 한다.
서로 배수 관계인 경우에도 첫 번째 값에 두 번째 값을 나머지 연산한 결과가 남지 않아야 한다.
'코딩테스트' 카테고리의 다른 글
[백준/9506번/C++] 약수들의 합 (0) | 2024.08.09 |
---|---|
[백준/2501번/C++] 약수 구하기 (0) | 2024.08.08 |
☆ [백준/2903번/C++] 중앙 이동 알고리즘 (0) | 2024.08.04 |
☆ [백준/2745번/C++] 진법 변환 (0) | 2024.08.03 |
[백준/2720번/C++] 세탁소 사장 동혁 (0) | 2024.08.02 |