#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;

}

C++ 筛质数算法详解:用素数筛法输出n以内的所有素数

原文地址: https://www.cveoy.top/t/topic/bUqA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录