筛法

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int flags[101] = {0};
 8     int k = 2;
 9     do {
10         int d = k;
11         //
12         /*
13         while (d < 101) {
14             d += k;    // overstep of the boundary, eg: 99 + 9
15             flags[d] = 1;
16         }
17         */
18         d += k;
19         while (d < 101) {
20             flags[d] = 1;
21             d += k;
22         }
23         //
24         k ++;
25     } while (k < 11);
26 
27     for (int i = 2; i < 101; ++ i) {
28         if (! flags[i]) cout << i << endl;
29     }
30 
31     return 0;
32 }

 

posted @ 2014-09-04 23:42  xiejianer9  阅读(158)  评论(0)    收藏  举报