Cod sursa(job #1358438)
Utilizator | Data | 24 februarie 2015 16:57:19 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <cstdio>
char ciur[2000000];
int n;
void prim()
{
ciur[1]=1;
int d=2,i;
while(d*d<=n)
{
for(i=2;i*d<=n;i++)
ciur[d*i]=1;
d++;
while(ciur[d]==1)
d++;
}
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
int i,cont=0;
scanf("%d",&n);
prim();
for(i=1;i<=n;i++)
if(ciur[i]==0)
cont++;
printf("%d",cont);
}