Cod sursa(job #149453)

Utilizator me_andyAvramescu Andrei me_andy Data 5 martie 2008 19:00:45
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream.h>

 ifstream f("ciur.in");
 ofstream g("ciur.out");
 char a[2000002];
 long cont=0,i,j,n,v[1001],cont2=0;

int main()
{
 f>>n;
 i=2;
 while(i<=n)
 {
  while(a[i]!=0)
   i++;
  for(j=i+i;j<=n;j+=i)
     a[j]=1;
  i++;
 }
 for(i=2;i<=n;i++)
  if(a[i]==0)
   cont2++;
 for(i=n;i>=2;i--)
 {
  if(a[i]==0)
   v[++cont]=i;
  if(cont==1000)
   break;
 }
 g<<cont2<<"\n";
 for(j=cont;j>=1;j--)
   g<<v[j]<<" ";

 f.close();
 g.close();
 return 0;

}