Cod sursa(job #669612)
Utilizator | Data | 27 ianuarie 2012 14:16:36 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.32 kb |
#include <cstdio>
#include <cmath>
bool 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=3 ; i<=sqrt(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);
}