码迷,mamicode.com
首页 > 数据库 > 详细

poj 2262 Goldbach's Conjecture——筛质数(水!)

时间:2018-07-07 20:13:21      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:水题   ble   题目   质数   ref   print   class   ldb   return   

题目:http://poj.org/problem?id=2262

大水题的筛质数。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=1e6;
int n,pri[N+5],cnt;
bool vis[N+5];
void init()
{
  for(int i=2;i<=N;i++)
    {
      if(!vis[i])pri[++cnt]=i;
      for(int j=1;j<=cnt&&(long long)i*pri[j]<=N;j++)
    {
      vis[i*pri[j]]=1;
      if(i%pri[j]==0)break;
    }
    }
}
int main()
{
  init();
  while(1)
    {
      scanf("%d",&n);if(!n)return 0;
      bool flag=0;
      for(int i=2;i<=cnt&&n>pri[i];i++)
        if(!vis[n-pri[i]])
          {
            printf("%d = %d + %d\n",n,pri[i],n-pri[i]);
            flag=1;break;
          }
      if(!flag)printf("Goldbach‘s conjecture is wrong.\n");
    }
}

 

poj 2262 Goldbach's Conjecture——筛质数(水!)

标签:水题   ble   题目   质数   ref   print   class   ldb   return   

原文地址:https://www.cnblogs.com/Narh/p/9277849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!