您的位置:首页 > 编程语言 > Go语言

zoj 1951 || poj 2262 Goldbach's Conjecture(水水~)

2010-11-11 14:35 225 查看
写好的程序,DEV卡了,没有响应。。。关了后啥都没了 = =



还好这个不长。。。花了五分钟重新写了下。。。好像写得挺慢的。。。



一直超时 = =。。。调啊调。。。最后把cin cout改成scanf和printf了。。。没有超时。。



筛法写得很顺了。。。



教训啊教训。。以后遇到这种题。。。果断不用cin。。。



#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
#define MAX 1000001
using namespace std;
int prime[MAX];
void Pri()
{
	for(int i=1; i<MAX; i++)
		prime[i] = 1;
	prime[0] = prime[1] = 0;
	for(int i=2; i<MAX/2; i++)
		for(int j=2; j*i<MAX; j++)
			prime[i*j] = 0;
}
int main(void)
{
	Pri();
	int n;
	while( scanf("%d",&n)  && n )
	{
		int flag = 1;
		for(int i=2; i<n/2+1; i++)
		{
			if( prime[i] && prime[n-i] )
			{
				printf("%d = %d + %d/n",n,i,n-i);
				flag = 0;
				break;
			}
		}
		if( flag )
			printf("Goldbach's conjecture is wrong./n");
	}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: