Pagini recente » Profil M@2Te4i | Cod sursa (job #2018033) | Istoria paginii runda/tot/clasament | Istoria paginii runda/trainingtsa2/clasament | Cod sursa (job #145425)
Cod sursa(job #145425)
#include <cstdio>
#include <bitset>
using namespace std;
#define MAXN 2000005
#define MAXP 400000
int N;
bitset<MAXN> u;
int p[MAXP];
int main()
{
freopen("ciur.in", "rt", stdin);
freopen("ciur.out", "wt", stdout);
scanf("%d", &N);
p[ p[0] = 1 ] = 2;
int i;
for (i = 3; i * i <= N; i += 2)
{
if (u[i])
continue;
p[ ++p[0] ] = i;
for (int j = i * i; j <= N; j += i)
u[j] = 1;
}
for (; i <= N; i++)
if (!u[i])
p[ ++p[0] ] = i;
printf("%d\n", p[0]);
for (int i = (1 > (p[0] - 999)) ? 1 : (p[0] - 999); i <= p[0]; i++)
printf("%d ", p[i]);
printf("\n");
return 0;
}