Cod sursa(job #1803564)

Utilizator rangalIstrate Sebastian rangal Data 11 noiembrie 2016 16:35:22
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <bitset>
#define N 2000002
#define infile "ciur.in"
#define outfile "ciur.out"

using namespace std;

ifstream fin(infile);
ofstream fout(outfile);

bitset<N> v;
// 0 = prim, 1 != prim

int n,i,ct;

void Ciur(int n)
{
    ct=1;
    v[0]=v[1]=1;
    for(i=4; i<=n; i+=2)
        v[i]=1;
    for(i=3; i<=n; i+=2)
        if(!v[i])
            { ++ct ;for(int k=2*i; k<=n; k+=i)
                v[k]=1;
            }
}

int main()
{
    fin>>n;
    Ciur(n);

    fout<<ct;

    fin.close(); fout.close();
    return 0;
}