※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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

+ Recent posts