Cod sursa(job #1784026)

Utilizator hanganflorinHangan Florin hanganflorin Data 19 octombrie 2016 18:32:31
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <cstring>
using namespace std;

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

void Ciur();

int n, nr;
bool b[2000001];

int main()
{
    is >> n;
    Ciur();
    os << nr;
    is.close();
    os.close();
    return 0;
}
void Ciur()
{
    //memset(b, 1, sizeof(b));
    /*
    reverse
    b[i] == false => i prime
    b[i] == true => i not prime
    */
    b[0] = b[1] = true;
    for ( int i = 2; i <= n; ++i )
        if ( !b[i] )
        {
            nr++;
            //os << i << '\n';
            for ( int j = 1; j * i <= n; ++j )
                b[i*j] = true;
        }
}