Cod sursa(job #443467)
Utilizator | Avadanei Danut joRicel | Data | 16 aprilie 2010 23:37:15 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <cstdio>
#define MAX 2000001
char ciur[MAX];
int cnt,n,j,i;
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
for (i = 3; i <= n; ++i)
if(i % 2 != 0)ciur[i] = 1;
ciur[2] = 1;
for (i = 2; i <= n; ++i)
if(ciur[i])
{
++cnt;
for (j = i+i; j <= n; j += i)
ciur[j] = 0;
}
printf("%d ",cnt);
return 0;
}