Cod sursa(job #633972)

Utilizator blk.irineluIrina Ursateanu blk.irinelu Data 15 noiembrie 2011 11:04:07
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
#include <iostream>

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;    
    system("PAUSE");
    return EXIT_SUCCESS;
}