Cod sursa(job #2190163)

Utilizator AndrulianDin Iulian Andrulian Data 29 martie 2018 21:40:47
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int N=20000001;
int n;
bitset <N> c;
inline int ciur(int n)
{
    int i,j,nr;
    for(i=3; i*i<=n; i=i+2)
    {

        if(c[i]==0)
            for(j=i*i; j<=n; j+=2*i)c[j]=1;
    }
    return ((n+1)/2-c.count());
}
int main()
{
    fin>>n;
    fout<<ciur(n);
    return 0;
}