Cod sursa(job #1278866)
Utilizator | Data | 29 noiembrie 2014 14:53:38 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
char v[250000];
int i,n,j,prime=1;
int main()
{
fin>>n;
for(i=3;i<=n;i+=2)
if(!( v[i/16]& 1<<((i+1)%16/2) ))
{//cout<<i<<" ";
prime++;
for(j=3*i;j<n;j+=2*i)
v[j/16]=v[j/16]| 1<<((j+1)%16/2);
}
fout<<prime;
return 0;
}