Cod sursa(job #604739)
| Utilizator | Data | 24 iulie 2011 20:12:25 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include<cstdio>
using namespace std;
FILE *fin, *fout;
int prim[2000001];
int main()
{
int n, cnt=0, i, j;
fin = fopen ("ciur.in", "r");
fout = fopen ("ciur.out", "w");
fscanf (fin, "%d", &n);
for (i = 2; i <= n; i++)
prim[i] = 1;
for (i = 2; i <= n; i++)
if (prim[i])
{
cnt++;
for (j = i + i; j <= n; j +=i)
prim[j] = 0;
}
fprintf (fout, "%d", cnt);
fclose (fin); fclose (fout);
return 0;
}
