Cod sursa(job #146543)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 1 martie 2008 21:21:54
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include<stdio.h>
long n,i,a[2000100],l,j,s[1020];
int main()
{
 freopen("ciur.in","r",stdin);
 freopen("ciur.out","w",stdout);
 scanf("%ld",&n);
 for(i=2;i<=n;++i)
    if(a[i]==0)
      {++l;
       for(j=i*i;j<=n;j+=i) a[j]=1;
      }
 printf("%ld\n",l);
 for(i=0,j=n;((i<=l)&&(i<=1000));--j) if(a[j]==0)s[++i]=j;
 for(;i;--i)printf("%ld ",s[i]);

 return 0;
}