标签: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