Cod sursa(job #157887)
Utilizator | Data | 13 martie 2008 12:46:02 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include <stdio.h>
#define FIN "ciur.in"
#define FOUT "ciur.out"
#define nmax 2000001
char v[nmax+1];
long n,i,j,ct;
int main()
{
freopen(FIN,"rt",stdin);
freopen(FOUT,"wt",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)
v[i]=1;
for(i=2;i<=n;++i)
if(v[i]==1)
{++ct;
for(j=i+i;j<=n;j+=i)
v[j]=0;
}
printf("%d",ct);
return 0;
}