Cod sursa(job #234551)
| Utilizator | Data | 21 decembrie 2008 10:18:23 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
FILE *f,*g;
long long p[2000];
int main()
{
f=fopen("ciur.in","r");
g=fopen("ciur.out","w");
long long n,i,j,k=0;
fscanf(f,"%ld",&n);
i=2;
while(i<=sqrt(n)) if(p[i]==0) for(j=i;j<=n;j=j+i) p[j]=1;
else i++;
for(i=1;i<=n;i++) if(p[i]==-1) k++;
fprintf(g,"%lld" , k);
fclose(f);
fclose(g);
return 0;
}
