Cod sursa(job #1815407)

Utilizator Tataru_AdelinTataru Adelin Tataru_Adelin Data 25 noiembrie 2016 10:26:33
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
bitset <2000010> b;
void ciur()
{
    for(int k=1; 2*k+1<=2000001/2; k++)
        if(!b[2*k+1])
            for(int i=2*(2*k+1); i<=2000000; i+=2*k+1)
                b[i]=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(!b[i])
            s++;
    if(n>=2)
        s++;
    fout<<s<<'\n';
    return 0;
}