#include<stdio.h> #include<math.h> #include<string.h> #define NUM 1000000 #define N NUM/2 bool prime[N]; void p(void); int main() { int i,n; p(); while(1) { scanf("%d",&n); if(!n||n%2) return 0; for(i=0;2*i+3<=n/2;i++) if(prime[i]) if(prime[n/2-i-3]) { printf("%d = %d + %d/n",n,2*i+3,n-3-2*i); break; } } return 0; } void p(void) { int i,j,len; len=(int)sqrt((float)NUM); memset(prime,1,N); for(i=0;2*i+3<=len;i++) if(prime[i]) for(j=3*i+3;j<N;j+=2*i+3) prime[j]=0; }
posted on 2009-09-08 23:30 草头菜 阅读(105) 评论(0) 编辑 收藏 举报
Powered by: 博客园 Copyright © 2024 草头菜 Powered by .NET 8.0 on Kubernetes