Cod sursa(job #1591233)

Utilizator iulian_f2kGuraliuc Iulian iulian_f2k Data 5 februarie 2016 22:01:18
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<bool> p;
int N, nrp=1;

int main()
{
    freopen("ciur.in", "rt", stdin);
    freopen("ciur.out", "wt", stdout);
    scanf("%d", &N);

    p.assign((N/2 + 2), 1);

    for(int i=1; (i<<1)+1<=N; ++i)
    {
        if(p[i])
        {
            nrp++;
            for(int j=3*i+1; (j<<1)<=N; j+=(i<<1) + 1)
                p[j]=0;
        }
    }
    cout<<nrp<<'\n';
}