1 #include <iostream> 2 3 using namespace std; 4 5 int prime[10000]; // 保存筛得的素数 6 int primeSize; // 保存素数的个数 7 bool mark[10001]; // 若mark[i]为true,表示i被标记为素数 8 9 void init() 10 { 11 for(int i = 2; i <= 10000; ++i) 12 mark[i] = true; // 初始化,所有数字均被标记为素数 13 primeSize = 0; 14 for(int i = 2; i <= 10000; ++i) 15 { 16 if(mark[i] == true) 17 { 18 prime[primeSize++] = i; 19 for(int j = i*i; j <= 10000; j += i) 20 mark[j] = false; // 该数的所有倍数都不是素数 21 } 22 else 23 continue; 24 } 25 }