Cod sursa(job #1075240)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 8 ianuarie 2014 19:27:24
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <bitset>
#define Nmax 2000099
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");

int N,nr;
bitset < Nmax > v;

int main()
{
    f>>N;
    for(int i=2;i<=N;++i)
    {
        //salvez nr prim
        ++nr;// prim[nr]=i;

        //bifez multiplii lui i, pe el in las. adica incep de la 2*i
        //insa daca sta se ne gandim
        //2*i,3*i,4*i,....,ASTIA au fost deja bifati cand i-am facut pe 2,3,4..
        //deci pentru i incep cu multiplul (i-1)*i

        for(int j=i*(i-1); j<=N; j+=i )v[j]=1;
    }
    g<<nr<<'\n';
    return 0;
}