Cod sursa(job #144559)

Utilizator igorPirnau Igor igor Data 27 februarie 2008 19:36:37
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<fstream.h>

#define nmax 20000000

ifstream f("ciur.in");
ofstream g("ciur.out");

char a[nmax];
int n, i, nr, j;

int main()
{
    f>>n;
    for(i=2; i<n; i++)
        if(!a[i]){
            nr++; 
            for(j=i+i; j<=n; j+=i) a[j]=1;
        }

    if(nr>1000) for(i=n; nr>0; i--) if(!a[i]) g<<i<<' ', nr--;
        else for(i=2; i<n; i++) if(!a[i]) g<<i<<' ';

    g.close();
    return 0;
}