Cod sursa(job #634293)

Utilizator yamahaFMI Maria Stoica yamaha Data 15 noiembrie 2011 21:50:17
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<fstream>
#include<iostream>

using namespace std;

unsigned char v[2000000/8+1];
int n,nr;

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

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