Cod sursa(job #245140)
Utilizator | Data | 16 ianuarie 2009 22:09:24 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include<stdio.h>
const int N=2000001;
int n,k;
bool v[N];
void ciur()
{
int i,j;
for( i=2 ; i*i<=n ; ++i )
if(v[i]==0)
for( j=i+i ; j<=n ; j+=i )
v[j]=1;
}
void calcul()
{
int i;
for( i=2 ; i<=n ; ++i )
if( v[i]==0 )
++k;
printf("%d\n",k);
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
ciur();
calcul();
return 0;
}