Cod sursa(job #153352)
| Utilizator | Data | 10 martie 2008 14:24:00 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.4 kb |
#include <stdio.h>
int n, sol[1005], cnt, nr;
char ciur[2000002];
void erat()
{
int i, j;
for (i = 4; i <= n; i += 2) ciur[i] = 1;
nr = 1;
for (i = 3; i <= n; i += 2)
if (!ciur[i]) { for (j = 2; i * j <= n; j++) ciur[i * j] = 1; nr++;}
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
erat();
printf("%d\n",nr);
return 0;
}
