标签:nyoj 孪生素数问题
1 14
4
#include<cstdio>
#include<cstdlib>
#include<cstring>
#define max 1000000 + 5
using namespace std;
int isprime[max],a[max];
void count(){
int i,j,k,q;k=0;
for(i=2;i*i<max;++i){
if(isprime[i])continue;
for(j=i*i;j<max;j+=i){
isprime[j]=1;
}
}q=2;
for(i=3;i<max;++i){
if(isprime[i]==0){
if(i-q<=2){a[i]=a[i-1]+1;}
else a[i]=a[i-1];
q=i;
}
else a[i]=a[i-1];
}
}
int main()
{
count();
int k,n;
scanf("%d",&k);
while(k--){
scanf("%d",&n);
printf("%d\n",a[n]);
}
return 0;
}
标签:nyoj 孪生素数问题
原文地址:http://blog.csdn.net/r1986799047/article/details/42836527