链接:

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;
}
01-10 10:42