Cod sursa(job #2025073)

Utilizator SlevySlevoaca Stefan-Gabriel Slevy Data 21 septembrie 2017 20:26:43
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#include <bitset>
#define NMAX 2000000

using namespace std;

bitset<NMAX> mark;

int main() {

    int n, nr = 1;
    ifstream in("ciur.in");
    in >> n;
    in.close();

    for (int i = 3; i * i <= n; i += 2) {

        if (!mark.test(i)) {

            for (int j = i * i; j <= n; j += 2 * i)
                mark.set(j);

        }

    }

    for (int i = 3; i <= n; i += 2)
        nr += static_cast<int> (!mark.test(i));

    ofstream out("ciur.out");
    out << nr << "\n";
    out.close();
    return 0;
}