Cod sursa(job #1946313)

Utilizator dorin31Geman Dorin Andrei dorin31 Data 30 martie 2017 07:35:43
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>
#include <bitset>

#define maxN 2000000

using namespace std;

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

bitset <maxN/2> ciur;
int n,k;

void buildCiur()
{
    if  (n>=2) ++k;
    for (int i=3; i<=n; i+=2)
        if (!ciur[i/2])
    {
        ++k;
        for (int j=i*i; j<=n; j+=i)
            ciur[j/2]=1;
    }
}

int main()
{
    fin>>n;
    buildCiur();
    fout<<k;
    return 0;
}