Cod sursa(job #611825)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 3 septembrie 2011 17:17:12
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 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/8]&set<<i%8)i++;
        for(j=i*i;j<=2000000;j+=i)p[j/8]|=set<<j%8; i++;};
}

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