Cod sursa(job #634024)

Utilizator blk.irineluIrina Ursateanu blk.irinelu Data 15 noiembrie 2011 14:42:13
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <fstream>

using namespace std;

unsigned char bit[200000/8+1];
int n,prim;

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

    f>>n;
    for(int i=2;i<=n;i++)
     if(!(bit[i>>3]&(1<<(i&7))))
     {
         prim++;
         for(int j=i+i;j<=n;j+=i)
          bit[j>>3]=bit[j>>3]|(1<<(j&7));
     }
    g<<prim;
    return 0;
}