Cod sursa(job #155434)
Utilizator | Data | 11 martie 2008 22:13:17 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
# include <stdio.h>
FILE *f=fopen("ciur.in","r"),*g=fopen("ciur.out","w");
char P[2000001];
long i,j,d,N;
int main()
{
fscanf(f,"%ld",&N);
fclose(f);
for (i=2;i<=N;i++)
P[i]=1;
d=0;
for (i=2;i<=N;i++)
if (P[i])
{
d++;
for (j=i+i; j<=N; j+=i)
P[j] = 0;
}
j=1;
for (i=3;i<=N;i=i+2){
if (P[i]) j++;
}
fprintf(g,"%ld\n", j);
fclose(g);
return 0;
}