题意:http://acm.hdu.edu.cn/showproblem.php?pid=1262 解答: #include<stdio.h> #define MAX 10005 int a[MAX]={1,1};int int i,j;void void su(){ for( { for(i=2;i*i<MAX;i++) { if(! { if(!a[i]) { for( { for(j=i*i;j<MAX;j+=i) { { a[j]=1; } } }}int main(){ } } } } int main(){ { su(); int int n,k; while( while(scanf("%d",&n)!=EOF) { int { int half=n/2; for( for(k=half;k>0;k--) { if(! { if(!a[k]&&!a[n-k]) { { printf("%d %d\n",k,n-k); break; } } } return } } } return 0;} }