素数表(欧拉筛法)
把 n 以内的素数存入数组 b 中
void PrimeMap(int n, int b[]) { int a[n]; int x = 0; memset(a, 0, sizeof(a)); //初始化清零 for(int i = 2; i <= n; i++) { if(!a[i]) b[x++] = i; //如果没被筛选,则为素数存入数组 b 中 for(int j = 0; i * b[j] <= n; j++) { //循环将素数的倍数筛掉 a[b[j] * i] = 1; if(i % b[j] == 0) break; } } }