找新朋友 hdu 1286 筛选法

 1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <math.h>
4 #include <string.h>
5
6 int A[400000];
7
8 int prime(int N)
9 {
10 int i, j, k = 0;
11
12 for (i = 2; i < N ; i++) {
13 if (N % i == 0 ) {
14 for (j = i; j < N; j += i)
15 A[j] = 1;
16 }
17 }
18 for (i = 1; i < N; i++)
19 if(!A[i])
20 k++;
21 return k;
22 }
23
24 int main( )
25 {
26 int T, N;
27 scanf("%d", &T);
28 while (T--) {
29 memset(A, 0, sizeof(A));
30 //memset(dp, 0, sizeof(dp));
31 scanf("%d", &N);
32 printf("%d\n",prime(N));
33 }
34 return 0;
35 }

  

posted on 2011-07-20 10:25  more think, more gains  阅读(144)  评论(0编辑  收藏  举报

导航