백준/약수, 배수와 소수

9020: 골드바흐의 추측 / C++

Koalitsiya 2023. 3. 20. 16:19

문제

 

풀이

#include <iostream>

using namespace std;

bool isPrime(int n) {
	if (n == 1) return false;

	for (int i = 2; i * i <= n; i++)
		if (n % i == 0) return false;

	return true;
}

int main() {
	int n, m;

	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> m;

		for (int j = 0; j < m / 2; j++) {
			int x = m / 2 - j;
			int y = m / 2 + j;

			if (isPrime(x) && isPrime(y)) {
				cout << x << " " << y << "\n";
				break;
			}
		}
	}

	return 0;
}