Cod sursa(job #151093)

Utilizator sigridMaria Stanciu sigrid Data 7 martie 2008 20:07:26
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream.h>
#define dim 2000001
#define dim2 1000
char prim[dim];
unsigned long cont,n,a[dim2],cont2;
ifstream f("ciur.in");
ofstream g("ciur.out");
int main()
{unsigned long i,j;
f>>n;
f.close();

for(i=2;i<=n;i++)
 if(!prim[i])
   for(j=i+i;j<=n;j+=i)
     prim[j]=1;

for(i=n;i>=2;i--)
 if((!prim[i])&&(cont<dim2))
  a[++cont]=i;

g<<cont<<'\n';
if(cont>=1000) cont2=(cont-1000)+1;
  else cont2=1
for(i=cont;i>=cont2;i--) g<<a[i]<<" ";
g<<'\n';
g.close();
return 0;
}