第一次學線性篩選素數,水一下
Code:
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int prime[11100],pr,n;
bool v[11100];
void Solve()
{
memset(v,1,sizeof(v));
pr=0;
for(int i=2;i<=10000;i++)
{
if(v[i])
{
pr++;
prime[pr]=i;
}
for(int j=1;(j<=pr)&&(i*prime[j]<=10000);j++)
{
v[i*prime[j]]=false;
if(i%prime[j]==0) break;
}
}
}
void Output()
{
int ans=0;
for(int i=2;i<=n/2;i++)
if(n-i!=i&&v[n-i]&&v[i]) ans++;
printf("%d\n",ans);
}
int main()
{
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
Solve();
while(scanf("%d",&n)!=EOF&&n!=0)
{
Output();
}
return 0;
}