数论-北大-2262

0 views
Skip to first unread message

china_sjc

unread,
Aug 6, 2008, 5:49:54 AM8/6/08
to 中国矿业大学徐海学院算法课程
#include <stdio.h>
#include <memory.h>
bool odd[1000001];
int main(){
int i,j,x;
memset(odd, 1, sizeof(odd));
for(i=2;i<=500000;i++)
if(odd[i]&&i%2)
for(j=2;j<1000000/i;j++)odd[i+j*i]=0;
while(scanf("%d",&x),x)
{
for(i=3;i<=x/2;i+=2)
if(odd[i] && odd[x-i])
break;
printf("%d = %d + %d\n",x,i,x-i);
}
}
Reply all
Reply to author
Forward
0 new messages