lightoj1259 - Goldbach`s Conjecture(水题)
2016-05-05 23:28
591 查看
打完表以后暴力就好了
题目链接:
http://lightoj.com/volume_showproblem.php?problem=1259
题目链接:
http://lightoj.com/volume_showproblem.php?problem=1259
#include <stdio.h> #include<cmath> #include<iostream> #include<cstring> #include<algorithm> using namespace std; typedef long long LL; const int Max=10000000; bool is[Max+10]; int pri[700000]; int siz=0; void isprime(){ memset(is,0,sizeof(is)); for(int i=2;i<=Max;i++){ if(!is[i])pri[++siz]=i; for(int j=1;j<=siz&&pri[j]<=Max/i;j++){ is[i*pri[j]]=1; if(!(i%pri[j]))break; } } } int main(void) { isprime(); int t,cas=0; scanf("%d",&t); while(t--){ int n; scanf("%d",&n); int ans=0; for(int i=1;i<=siz&&pri[i]<=n/2;i++){ if(!is[n-pri[i]])ans++; } printf("Case %d: %d\n",++cas,ans); } return 0; }