Pagini recente » Profil M@2Te4i | Statistici Deacu Alexandru Daniel (alexdani) | Cod sursa (job #1298097) | Cod sursa (job #2843546) | Cod sursa (job #145428)
Cod sursa(job #145428)
#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 += 2)
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;
}