Cod sursa(job #1815382)

Utilizator Tataru_AdelinTataru Adelin Tataru_Adelin Data 25 noiembrie 2016 09:37:25
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <bitset>
#include <fstream>
using namespace std;
bitset <2000010> bit;
void ciur()
{
    for(int k=1; 2*k+1<=2000000; k++)
        for(int i=2;i*(2*k+1)<=2000000;i++)
            bit.flip(i*(2*k+1));
}
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int main()
{
    int n,s=0;
    fin>>n;
    ciur();
    for(int i=3; i<=n;i+=2)
        if(!bit[i])
            s++;
    if(n>=2)
        s++;
    fout<<s<<'\n';
    return 0;
}