F - Goldbach`s Conjecture(哥德巴赫猜想)
Posted Fy1999
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了F - Goldbach`s Conjecture(哥德巴赫猜想)相关的知识,希望对你有一定的参考价值。
题目大致的意思是输出一个偶数总共有多少个素数对构成哥德巴赫猜想(PS:陷阱好多,稍一不慎就超内存了)
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 const long long maxn=1e7+5; 8 9 bool ip[maxn];//使用long long会超内存 10 long long T,n,p[1000005];//注意数组p的长度否则超内存 11 12 void is_prime() 13 { 14 long long k=0; 15 memset(ip,0,sizeof(ip)); 16 memset(p,0,sizeof(p)); 17 ip[0]=ip[1]=1; 18 for(long long i=2;i<=maxn;i++) 19 { 20 if(!ip[i]) 21 { 22 p[++k]=i; 23 for(long long j=i+i;j<=maxn;j+=i) 24 { 25 ip[j]=1; 26 } 27 } 28 } 29 } 30 31 int main() 32 { 33 ios::sync_with_stdio(false); 34 is_prime(); 35 cin>>T; 36 for(int i=1;i<=T;i++) 37 { 38 int sum=0; 39 cin>>n; 40 for(int i=1;p[i]<=n/2;i++) 41 { 42 if(ip[n-p[i]]==0) sum++;//保证两个数都为素数,且加和为n 43 } 44 } printf("Case %d: %d\n",i,sum); 45 } 46 47 return 0; 48 }
以上是关于F - Goldbach`s Conjecture(哥德巴赫猜想)的主要内容,如果未能解决你的问题,请参考以下文章
F - Goldbach`s Conjecture(哥德巴赫猜想)
[POJ2262] Goldbach’s Conjecture