水题。。找素数。。写个素数筛就能过
以下AC 代码
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e7+5;
const int maxm = 1e6+5;
bool is_prime[maxn];
int prime[maxm],tot;
void judge()
{
tot = 0;
memset(is_prime,true,sizeof is_prime);
is_prime[0] = is_prime[1] = false;
for(int i=2;i<maxn;i++)
{
if(is_prime[i])
{
prime[tot++] = i;
for(int j=i*2;j<maxn;j+=i)
{
is_prime[j] = false;
}
}
}
}
int main()
{
int t,cas = 1;
scanf("%d",&t);
int n;
judge();
while(t--)
{
scanf("%d",&n);
int num = 0;
for(int i=0;prime[i] <= n/2;i++)
{
if(is_prime[n-prime[i]])
num++;
}
printf("Case %d: %lld\n",cas++,num);
}
return 0;
}