Cod sursa(job #158160)
Utilizator | Data | 13 martie 2008 14:38:02 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <stdio.h>
#define MAXN 2000002
int v[MAXN];
int ciur(int n)
{
int i,j,count=1;
for (i=4; i<=n; i+=2)
v[i]=1;
for (i=3; i<=n; i+=2)
if (!v[i])
{
count++;
for (j=2*i; j<=n; j+=i)
v[j]=1;
}
return count;
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
int n;
scanf("%d",&n);
printf("%d\n",ciur(n));
fclose(stdin);
fclose(stdout);
return 0;
}