Cod sursa(job #669246)
Utilizator | Data | 26 ianuarie 2012 17:34:57 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.33 kb |
#include <cstdio>
int c[2000005];
int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
int n,k=1,i,i2;
scanf("%d ",&n);
for( i=2 ; i<=n ; i+=2 )
c[i]=1;
for(i=3 ; i<=n ; i+=2 ){
if( !c[i] ){++k; //daca c[i] nu e prim
for( i2 = i+i ; i2<=n; i2+=i )
c[i2]=1;
}
}
printf("%d ",k);
}