题目
传送门
Input 3 4 6 7 Output -1 2 4 3 4
题意:给出一个数判断是否能拆成一个素数和合数,可以的话输出素数和合数,否则输出-1
思路:模拟之后发现这个数减去2或3后剩下的数如果能整除2那么这个数就是符合条件的,否则输出-1,具体上代码
AC code
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<map>
#include<sstream>
#include<queue>
#include<stack>
using namespace std
;
#define ll long long
const int mod
=1e9+7;
int n
,a
[120000];
void solve()
{
cin
>>n
;
int flag
=0;
if(n
<=5)printf("-1\n");
else
{
int p
=n
-2,q
=n
-3;
if(p
%2==0)printf("%d %d\n",2,p
);
else if(q
%2==0) printf("%d %d\n",3,q
);
else printf("-1\n");
}
}
int main()
{
ios
::sync_with_stdio(0);
int t
;
while(cin
>>t
)
{
while(t
--)
solve();}
}