Pagini recente » Cod sursa (job #380312) | Cod sursa (job #2957960) | Cod sursa (job #144710)
Cod sursa(job #144710)
#include <cstdio>
int a[2000000/2/8+1];
int main ()
{
freopen ("ciur.in","r",stdin);
freopen ("ciur.out","w",stdout);
int i,j,n,k=1;
scanf ("%d",&n);
for (i=1; ((i*i)<<1)+(i<<1)<=n; ++i)
if (!(a[i>>3]&(1<<(i&7))))
for (j=((i*i)<<1)+(i<<1); (j<<1)+1<= n; j+=(i<<1)+1)
{
a[j>>3]|=(1<<(j&7));
}
for (i=1; (i<<1)+1<=n; ++i)
if (!(a[i>>3]&(1<<(i&7))))
++k;
printf ("%d\n",k);
printf ("2 ");
for (i=1; (i<<1)+1<=n; ++i)
if (!(a[i>>3]&(1<<(i&7))))
printf ("%d ",(i<<1)+1);
return 0;
}