哥德巴赫猜想~~
#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 (转载时请注明本文出处及文章链接)


发表评论
快来吐槽一下吧!