#include <iostream>
using namespace std;
const int N=10003;
int a[N]={0};
void Prime()
{
int i,j,k;
a[0]=a[1]=1;
for(i=2;i<5001;i++)
{
if(a[i]==1)
continue;
k=N/i;
for(j=2;j<k;j++)
a[i*j]=1;
if(i*k!=N)
a[i*k]=1;
}
}
int main()
{
int n,i;
Prime();
while(cin>>n)
{
for(i=n/2-1;i>1;i--)
if(a[i]==0&&a[n-i]==0)
{
cout<<i<<endl<<n-i<<endl;
break;
}
}
return 0;
}
这个题目有个很恶心的问题,,就是格式输出!!!
华为oj里面好多题目测试样例的输出与标准输出不一样!!!
prime这个求素数的算法很牛叉,实在浙大机试指南学来的!