Cod sursa(job #276096)
Utilizator | Data | 10 martie 2009 20:48:44 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.33 kb |
#include<iostream>
#include<bitset>
using namespace std;
bitset <1000001> prime;
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
prime.set();
long a, b, n=0, i, di, j, aux;
cin>>b;
for(i=3;i<=b;i+=2)
if(prime[(i-3)>>1]){n++;for(di=i+i,j=i+di;j<=b;j+=di)prime[(j-3)>>1]=0;}
cout<<n+(b>=2);
}