链接:

https://codeforces.com/gym/102394/problem/J

题意:

The great mathematician DreamGrid proposes a conjecture, which states that:

Every positive integer can be expressed as the sum of a prime number and a composite number.

DreamGrid can't justify his conjecture, so you are invited to write a program to verify it. Given a positive integer n, find a prime number x and a composite number y such that x+y=n.

A prime number is a natural number greater than 1 that cannot be formed by multiplying two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. Note that 1 is neither a prime number nor a composite number.

思路:

小于6不行,偶数用2,奇数用3.

代码:

#include<bits/stdc++.h>
using namespace std; int main()
{
ios::sync_with_stdio(false);
int t;
cin >> t;
while(t--)
{
int n;
cin >> n;
if (n <= 5)
cout << -1 << endl;
else if (n%2 == 0)
cout << 2 << ' ' << n-2 << endl;
else
cout << 3 << ' ' << n-3 << endl;
} return 0;
}
05-18 02:07