Cod sursa(job #1339163)

Utilizator Edsger.DijkstraEdsger Wybe Dijkstra Edsger.Dijkstra Data 10 februarie 2015 18:44:10
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
#include <bitset>

using namespace std;

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

const int MAXN = 2000010;

bitset <MAXN> Ciur;

int main()
{
    int N, i, j;
    int Ans = 1;

    in >> N;

    for (i = 3; i * i <= N; i += 2)
        if (!Ciur[i])
            for (j = i * i; j <= N; j += 2 * i)
                Ciur[j] = 1;

    for (i = 3; i <= N; i += 2)
        if (!Ciur[i])
            Ans ++;

    out << Ans;

    return 0;
}