Cod sursa(job #1985512)

Utilizator ArctopusKacso Peter-Gabor Arctopus Data 28 mai 2017 00:44:15
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <cmath>

#define ll long long

using namespace std;

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

const int NLIM = 2e6 + 10;

ll N;
bool prim[NLIM];
int i, j, r, er;

int main()
{
    ios::sync_with_stdio( false );

    fin >> N;

    r = sqrt( N );
    er = N - 1;
    for(  i = 2; i <= r; ++i )
    {
        for(  j = i * i; j <= N; j += i )
        {
            if( !prim[j] )
            {
                prim[j] = 1;
                er--;
            }
        }
    }

    fout << er << "\n";
/*/
    er = 0;
    for( ll i = 2; i <= N; ++i )
        if( !prim[i] )
            ++er;

    cout << er;
//*/
    return 0;
}