Cod sursa(job #494848)
Utilizator | Data | 23 octombrie 2010 09:51:03 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <cstdio>
int j,m,n,i;
bool marcat[2000000];
int p[1000000];
int main ()
{
m=0;
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
for (i=2;i*i<n;i++)
if (!marcat[i])
for (j=i*i;j<=n;j=j+i)
marcat[j]=true;
for (i=2;i<=n;i++)
if (!marcat[i])
{
m=m+1;
p[m]=i;
}
printf("%d",m);
return 0;
}