Cod sursa(job #1207157)
| Utilizator | Data | 12 iulie 2014 13:56:57 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <stdio.h>
FILE *f,*g;
bool marcat[2000001];
int main()
{int n,i,j,nrp=0;
f=fopen("ciur.in","r");
fscanf(f,"%d", &n);
fclose(f);
for(i=2; i*i<=n; i++)
if (!marcat[i]){
for(j=i*i; j<=n; j=j+i)
marcat[j]=true;
}
marcat[0]=marcat[1]=true;
for (i=1;i<=n;i++)
if (!marcat[i])
nrp++;
g=fopen("ciur.out","w");
fprintf(g,"%d",nrp);
fclose(g);
return 0;
}
