poj 2262

poj 2262
 
 
#include<iostream>
#include<fstream>
#include<algorithm>
#include<time.h>
using namespace std;

/*
unsigned __int64 getClock()
{
	__asm
	{
		rdtsc;
	}
}*/
int main( )
{
	freopen("input.txt","r",stdin);
	ofstream cout("output.txt");
	 
	const int NUM=1000010;
	int *prime=new int[NUM];
	for(int i=0;i<NUM;i++)
	{
		prime[i]=1;
	}
	for(int i=2;i<NUM;i++)
	{
		for(int j=2;i*j<NUM;j++)
		{
			prime[i*j]=0;
		}
	}
	 
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		if(prime[n]>1)
		{
			cout<<n<<" = "<<prime[n]<<" + "<<n-prime[n]<<endl;
			continue;
		}
		int temp=n/2;
		for(int i=3;i<=temp;i+=2)
		{
			if(prime[i]==1&&prime[n-i]==1)
			{
				prime[n]=i;
				cout<<n<<" = "<<i<<" + "<<n-i<<endl;
				break;
			}
		}
	}
	 
	return 0;
}

你可能感兴趣的:(poj 2262)