※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 25375번 문제인 아주 간단한 문제이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/25375
25375번: 아주 간단한 문제
양의 정수 $a$, $b$가 주어지면, $gcd(x, y) = a$이고 $x + y = b$인 자연수 쌍 $(x, y)$가 존재하는지의 여부를 출력하자.
www.acmicpc.net
먼저, gcd(x,y)는 a이므로 x와 y는 모두 a의 배수임을 알 수 있다. 또한 x+y가 b와 같으므로 b 또한 a의 배수여야 한다. 한편 a와 b는 0이 아니므로 b는 a일 수 없다.
한편, b가 a보다 큰 a의 배수이기만 하다면 x = a, y = b - a와 같이 x와 y를 골랐을 때 gcd(x,y) = a 및 x+y=b를 만족시키는 것을 알 수 있다.
따라서 각 a와 b가 상술한 조건을 만족하는지를 확인하는 것으로 문제를 해결할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
typedef long long ll;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int Q; cin >> Q;
while (Q--) {
ll a, b; cin >> a >> b;
if (b % a == 0 && a < b) cout << 1 << '\n';
else cout << 0 << '\n';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 27113 // C++] 잠입 (0) | 2023.01.26 |
---|---|
[BOJ 27114 // C++] 조교의 맹연습 (0) | 2023.01.26 |
[BOJ 27112 // C++] 시간 외 근무 멈춰! (0) | 2023.01.26 |
[BOJ 27111 // C++] 출입 기록 (0) | 2023.01.25 |
[BOJ 25373 // C++] 벼락치기 (0) | 2023.01.25 |