POJ - 2262 Goldbach‘s Conjecture

https://vjudge.net/problem/POJ-2262

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
const int N=1e6+10;
bool bk[N];
void prime()
{
    
    
	memset(bk,false,sizeof bk);
	for(int i=2;i<=sqrt(N);i++)
	{
    
    
		if(!bk[i])
		{
    
    
			for(int j=i+i;j<=N;j+=i)
				bk[j]=true;
		}
	}
}
int main()
{
    
    
	prime();
	int n;
	while(~scanf("%d",&n),n)
	{
    
    
		bool f=false;
		for(int i=2;i<=n/2;i++)
		{
    
    
			if(!bk[i] && !bk[n-i])
			{
    
    
				f=true;
				printf("%d = %d + %d\n",n,i,n-i);
				break;
			}
		}
		if(!f)
			printf("Goldbach's conjecture is wrong.\n");
	}
	return 0;
}

Guess you like

Origin blog.csdn.net/weixin_52341477/article/details/120378950