Cod sursa(job #219903)

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

#define NMAX 20000001

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;
}