Cod sursa(job #1402058)
Utilizator | Data | 26 martie 2015 11:57:50 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <stdio.h>
char ciur[2000001];
int main()
{
FILE *fin,*fout;
int d,i,nr,n;
fin=fopen("ciur.in","r");
fout=fopen("ciur.out","w");
fscanf(fin,"%d", &n);
nr=0;
for (d=2;d*d<=n;d++)
if (ciur[d]==0) {
for (i=d*d;i<=n;i=i+d)
ciur[i]=1;
}
for (i=2;i<=n;i++)
if (ciur[i]==0)
nr++;
fprintf(fout,"%d", nr);
return 0;
}