Cod sursa(job #963328)
Utilizator | Data | 17 iunie 2013 10:23:08 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include<cstdio>
#include<algorithm>
using namespace std;
bool v[2000002];
int i,j,x,n;
int main ()
{
freopen ("ciur.in","r",stdin);
freopen ("ciur.out","w",stdout);
scanf ("%d",&n);x=1;
for(i=3;i*i<=n;i+=2)
if(!v[i])
for(j=i*i;j<=n;j+=i+i) v[j]=1;
for (i=3;i<=n;i+=2) {if (v[i]==false) ++x;}
printf ("%d",x);
return 0;
}