Cod sursa(job #1437935)
| Utilizator | Data | 18 mai 2015 20:36:25 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <cstdio>
#include <bitset>
using namespace std;
#define Nmax 2000002
FILE *f = fopen ( "ciur.in", "r" );
FILE *g = fopen ( "ciur.out", "w" );
bitset < Nmax > marked;
int prime = 1;
void Ciur ( int N ){
for ( int i = 3; i <= N; i += 2 ){
if ( !marked[i] ){
prime++;
for ( int j = i + i; j <= N; j += i )
marked[j] = 1;
}
}
}
int main(){
int N;
fscanf ( f, "%d", &N );
Ciur ( N );
fprintf ( g, "%d", prime );
return 0;
}
