Cod sursa(job #490133)
| Utilizator | Data | 4 octombrie 2010 23:29:32 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.37 kb |
#include <cstdio>
#include <cstdlib>
FILE *fin=fopen("ciur.in","r");
FILE *fout=fopen("ciur.out","w");
bool a[2000010];
int main (int argc, char * const argv[]) {
int n,nr=0;
fscanf(fin, "%d", &n);
for (int i=2; i<=n; i++)
if (!a[i])
{
nr++;
for (int j=i<<1; j<=n; j+=i)
a[j]=true;
}
fprintf(fout, "%d\n",nr);
fclose(fin);
fclose(fout);
return 0;
}
