#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++) // (1)
{
    if (*(q + i) == 0)
    {
        *p = i; // (2)
        for (j = i * i; j <= *p; j += i) // (3)
        {
            *(q + j) = 1;
        }
    }
}

t = 0;

for (i = 2; i <= n; i++)
{
    if (*(q + i) == 0) // (4)
    {
        cout << i << ' '; 
        t++;
        if (t % 10 == 0) // (5)
        {
            cout << endl;
        }
    }
}

return 0;

}

C++ 算法:埃氏筛法求素数

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

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