Cod sursa(job #1132249)

Utilizator catalincraciunCraciun Catalin catalincraciun Data 2 martie 2014 21:56:18
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
/// Craciun Catalin
///  Ciurul lui Erastostenes
///   www.infoarena.ro/problema/ciur
#include <fstream>
#include <iostream>
#include <bitset>

#define NMax 2000001

using namespace std;

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

int n;
bitset<NMax> C;

void generareCiur()
{
    C[0]=C[1]=1;
    for (int i=2;i<=2000000;i++)
        for (int j=i*2;j<=2000000;j+=i)
            C[j]=1;
}

void afisare()
{
    int x=0;

    for (int i=2;i<=n;i++)
        if (C[i]==0)
            x++;

    g<<x<<'\n';
    g.close();
}

int main()
{
    f>>n;
    f.close();

    generareCiur();
    afisare();

    return 0;
}