Cod sursa(job #360555)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 31 octombrie 2009 20:28:22
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda CNRV #4 Marime 0.45 kb
#include <fstream>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
 
unsigned int N,i;
char v[2000000];
 
long era() {
    unsigned int x,nr,i;
    nr=N-2;
    for(i=2; i<=N; i++) 
        if(v[i]!=0)
           for(x=2; x*i<N; x++)
                    if(v[x*i]!=0)
                       { nr--; v[x*i]=0; }
    return nr;
}
int main() {
    in>>N;
    for(i=2; i<=N; i++) v[i]=1;
    out<<era();
    return 0;
}