nyoj-26-孪生素数问题

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<algorithm>
 4 #include<math.h>
 5 using namespace std;
 6 int a[1000006]={0};
 7 int main()
 8 {
 9     void f(int n);
10     f(1000000);
11     int n,m,i;
12     scanf("%d",&n);
13     while(n--)
14     {
15         scanf("%d",&m);
16         int sum=0;
17         for(i=2;i<=m-2;i++)
18             if(a[i]==0&&a[i+2]==0)
19                 sum++;
20         if(m>=3)
21         sum++;
22         printf("%d
",sum);
23     }
24     return 0;
25 }
26 void f(int n)
27 {
28     int i,j;
29     for(i=2;i<1002;i++)
30     {
31         if(a[i]==0)
32         for(j=2*i;j<=1000000;j+=i)
33             a[j]=1;
34     }
35 }
原文地址:https://www.cnblogs.com/nylg-haozi/p/3179191.html