Cod sursa(job #146414)

Utilizator vlad_olteanVladimir Oltean vlad_oltean Data 1 martie 2008 18:00:24
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<fstream>
using namespace std;

int main()
{
    long long n;
    bool prim[2000001];
    int count=0;
    long long sol[3000];
    long long i,j;

    ifstream fin("ciur.in");
    ofstream fout("ciur.out");
    fin>>n;
    
    prim[0]=0; prim[1]=0;
    for(i=2;i<=n;i++) prim[i]=1;
    
    for(i=2;i<=n;i++)
         if(prim[i])
              for(j=i*i;j<=n;j+=i) prim[j]=0; // Elimin toti multiplii

    for(i=n;i>=2;i--)
         if(prim[i])
         {    if(count==1000) break;
              sol[count]=i;
              count++;
         }
    
    fout<<count<<endl;
    for(i=count-1;i>=0;i--)
         fout<<sol[i]<<' ';
    fin.close();
    fout.close();
    return 0;
}