哥德巴赫猜想~~
#include<iostream> #include<cstdio> #include<string> #include<string.h> #include<algorithm> #include<cstdlib> #include<ctime> #include<cmath> #include<iomanip> #include<map> #include<vector> #include<queue> #include<stack> //#include<bits/stdc++.h> using namespace std; typedef long long LL; const int INF = 0x3f3f3f3f; const int N = 1050; const int MAXN=10000010; bool ispri[MAXN]; int prime[MAXN/10]; //线性筛选 void getPrime() { memset(prime,0,sizeof(prime)); memset(ispri,0,sizeof(ispri)); for(int i=2; i<=MAXN; ++i) { if(!ispri[i]) prime[++prime[0]]=i; for(int j=1; j<=prime[0] && prime[j]<=MAXN/i; j++) { //prime[prime[j]*i]=1; ispri[prime[j]*i]=1; if(i%prime[j]==0) break; } } } int main() { getPrime(); int t; cin>>t; int casee=1; int n; while(t--) { scanf("%d",&n); int ans=0; for(int i=1;prime[i]<=n/2 ;++i) { if(prime[i]<=n-prime[i] && !ispri[n-prime[i]]) { ans++; } } printf("Case %d: %dn",casee++,ans); } return 0; }
- 版权声明:本文基于《知识共享署名-相同方式共享 3.0 中国大陆许可协议》发布,转载请遵循本协议
- 文章链接:http://www.carlstedt.cn/archives/84 (转载时请注明本文出处及文章链接)
发表评论
快来吐槽一下吧!