Cod sursa(job #501365)
Utilizator | Biro Alexandru biro | Data | 14 noiembrie 2010 20:33:42 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <algorithm>
#include <bitset>
#define DIM 2000000
using namespace std ;
int h=1 ;
bitset <DIM> ciur ;
int main() {
freopen ("ciur.in","r",stdin) ;
freopen ("ciur.out","w",stdout) ;
int n ;
scanf ("%d" , &n ) ;
for (int i=2 ; i<n ; ++i) {
++i ;
if (!ciur[i]) {
h++ ;
for (int j=i ; j<=n/i ; ++j) {
ciur[j*i]=1 ;
++j ;
}
}
}
printf ("%d" , h) ;
return 0;
}