Cod sursa(job #611909)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 4 septembrie 2011 15:06:02
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>
#include <cstdio>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
unsigned char p[250001],set=1;

void prime(){
    int i=2,j;
    while(i<=1414){
        while(p[i>>3]&set<<(i&7))i++;
        for(j=i*i;j<=2000000;j+=i)p[j>>3]|=set<<(j&7); i++;};
}

int main(){
    int n,i,x=0;
    f>>n;
    prime();
    for(i=2;i<=n;i++)if(!(p[i>>3]&set<<(i&7)))x++;
    g<<x;
}