Cod sursa(job #219905)

Utilizator mika17Mihai Alex Ionescu mika17 Data 8 noiembrie 2008 19:22:21
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <cstring>

#define NMAX 2000001

using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

int N;
bool prim[NMAX];

int main()
{
        fin>>N;

        memset(prim,true,sizeof prim);

        for(int i = 3; i * i <= N ; i += 2)
         if(prim[i])
          for(int j = i * i ; j <= N ; j += i<<1 )
           prim[j] = false;

        int nrp = 1;
        for(int i = 3; i <= N; i += 2)
         if(prim[i])
          ++nrp;
          
        fout<<nrp;

        return 0;
}