Cod sursa(job #723509)

Utilizator morlockRadu Tatomir morlock Data 25 martie 2012 15:45:52
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#define nmax 2000005
using namespace std;

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

int N, nr=0;
bool v[nmax];

int main()
{
    in>>N;

    for (int i = 2; i <= N; ++i)
     v[i] = true;

    for (int i = 2; i <= N; ++i)
     {
         if ( v[i] && ( i == 2 || i == 3 || i == 5 || i == 7 ) )
          {
              ++nr;
              for ( int j = i*i; j <= N; j += i )
               v[j] = false;
          }
          else
           if ( v[i] )
            ++nr;
     }

    out<<nr;

return 0;
}