Cod sursa(job #144581)

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

#define nmax 2000010

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

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

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

    for(i=n; i>1 && nr<1000 ; i--){
        if(!a[i]) sol[++nr]=i;
    }

    g<<nr<<'\n';
    for(i=nr; i>0; i--) g<<sol[i]<<' ';

    g.close();
    return 0;
}