Cod sursa(job #1412413)
Utilizator | Data | 1 aprilie 2015 11:55:56 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
#include <cmath>
#include <bitset>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int n,c,k,i,z;
bitset <2000001> v;
int main()
{
f>>n;
c=sqrt(n);
v[1]=1;
for(i=2;i<=c;i++)
{
k=2;
z=i*k;
while(z<=n)
{
v[z]=1;
k++;
z=i*k;
}
}
k=1;
for(i=1;i<=n;i+=2)
{
if(v[i]==0) k++;
}
g<<k;
return 0;
}