C++ 筛质数算法详解:用素数筛法输出n以内的所有素数
#include
using namespace std;
int a[1000001] = {};
int main() { int n, i, j, t, t2; cin >> n; int *q = a; int *p = &t2;
for (i = 2; i <= n; i++)
{
if (*(q + i) == 0)
{
*p = i;
for (j = i * i; j <= *p; j += i)
{
*(q + j) = 1;
}
}
}
t = 0;
for (i = 2; i <= n; i++)
{
if (*(q + i) == 0)
{
cout << i << ' ';
t++;
if (t % 10 == 0)
{
cout << endl;
}
}
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/bUqA 著作权归作者所有。请勿转载和采集!