Cod sursa(job #1045775)

Utilizator denis_tdrdenis tdr denis_tdr Data 2 decembrie 2013 00:19:46
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <math.h>
using namespace std;
ifstream fin; ofstream fout;
vector<int> a;
int n,c=1;
int main()
{
    fin.open("ciur.in"); fout.open("ciur.out");
    fin>>n;fin.close();
    a=vector<int>(n/2+1,1);
    int i,j;
    for(i=1;(i<<1)+1<=n;i+=1)
        if(a[i]){
            c++;
            for(j=i+i+i+1;(j<<i)+1<=n;j+=(i<<1)+1)
                a[j]=0;
        }
    fout<<c;fout.close();
    return 0;
}