66 lines
773 B
C++
Raw Normal View History

2022-08-16 15:28:06 +08:00
#include <iostream>
#include<cstdio>
#include<algorithm>
#include <cmath>
#include <cstdlib>
using namespace std;
2022-08-17 10:22:11 +08:00
const int N=1e7+5,M=7e5+5;
int pr[M];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2022-08-16 15:28:06 +08:00
bool b[N];//<2F>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2022-08-17 10:22:11 +08:00
int n;
int n2;
2022-08-16 15:28:06 +08:00
int t1=0,t;
int cnt=0;
2022-08-17 10:22:11 +08:00
int res;
inline void prime()
2022-08-16 15:28:06 +08:00
{
for(int i=2;i<N;i++)
{
if(!b[i])
{
pr[++cnt]=i;
}
for(int j=1;j<=cnt&&pr[j]*i<N;j++)
{
b[pr[j]*i]=1;
if(i%pr[j]==0)
{
break;
}
}
}
}
2022-08-17 10:22:11 +08:00
//void ce()
//{
// cout<<cnt;
2022-08-16 15:28:06 +08:00
// for(int i=1;i<=cnt;i++)
// {
// cout<<pr[i]<<" ";
// }
2022-08-17 10:22:11 +08:00
//}
inline int doit()
{
res=0;
n2=n/2;
for(int i=1;pr[i]<=n2;i++)
{
if(!b[n-pr[i]])
{
res++;
}
}
return res;
2022-08-16 15:28:06 +08:00
}
int main()
{
prime();
2022-08-17 10:22:11 +08:00
// ce();
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("Case %d: %d\n",++t1,doit());
}
2022-08-16 15:28:06 +08:00
return 0;
}