筛法
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 }
浙公网安备 33010602011771号