POJ 2262 Goldbach’s Conjecture

POJ 2262 Goldbach’s Conjecture

/*
不用打表直接算就行
但是不要用cin cout
用C语言的输入输出
比C++的要快得多 
*/
#define LOCAL
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<cstdlib>
#include<iomanip>
#include<string>
#include<algorithm>
#include<ctime>
#include<stack>
#include<queue>
#include<vector>
#define N 1000
using namespace std;
int prime(int n)
{
       int t,i;
       if(n==2)
         return 1;
       t=(int)sqrt((double)n);
       for(i=2;i<=t+1;i++)
       {if(n%i==0) return 0;}
       return 1;    
}
int main()
{
#ifdef LOCAL
       freopen("input.txt","r",stdin);
       freopen("output.txt","w",stdout);
#endif
  
    int i,n;
    while(scanf("%d",&n),n)
    {
              for(i=3;i<n;i+=2)
              {
                    if(prime(i)&&prime(n-i))
                    {
                             printf("%d = %d + %d\n",n,i,n-i);
                             goto end;
                             break;                    
                    }                         
              } 
              puts("Goldbach's conjecture is wrong."); 
              end:;              
    }
    return 0;
}

发表回复