Cod sursa(job #182236)
| Utilizator | Data | 20 aprilie 2008 15:47:13 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#ifdef WIN32
#define _CRT_SECURE_NO_WARNINGS
#endif
#include <stdio.h>
char prim[2000896];
int main()
{
freopen("ciur.in", "rt", stdin);
freopen("ciur.out", "wt", stdout);
int n;
scanf("%d", &n);
for (int i = 2; i <= n; i++)
{
if (prim[i] == 0)
for (int j = i + i; j <= n; j += i)
prim[j] = 1;
}
int sol = 0;
for (int i = 2; i <= n; i++)
if (prim[i] == 0)
sol++;
printf("%d\n", sol);
return 0;
}
