Goldbach's Conjecture

来源:互联网 发布:罗京 艾滋 知乎 编辑:程序博客网 时间:2024/06/15 21:31

http://poj.org/problem?id=2909

题意:把n拆分成a+b(都为素数)

解析:2^15不大。。。直接求;

// File Name: poj2909.cpp// Author: bo_jwolf// Created Time: 2013年10月11日 星期五 18:50:50#include<vector>#include<list>#include<map>#include<set>#include<deque>#include<stack>#include<bitset>#include<algorithm>#include<functional>#include<numeric>#include<utility>#include<sstream>#include<iostream>#include<iomanip>#include<cstdio>#include<cmath>#include<cstdlib>#include<cstring>#include<ctime>using namespace std;const int maxn = 100005;int prime[ maxn + 1 ];int unprime[ maxn ];void Union(){memset( unprime, 0, sizeof( unprime ) );unprime[ 0 ] = unprime[ 1 ] = 1;for( int i = 2; i < maxn; ++i ){if( !unprime[ i ] ){for( int j = i + i; j < maxn; j += i ){unprime[ j ] = 1;}}}}int main(){int n;Union();while( cin >> n ){if( !n )break;int ans = 0;for( int i = 2; i <= n / 2; ++i ){if( !unprime[ i ] && !unprime[ n - i ] )ans++;}cout << ans << endl;}return 0;}