Pagini recente » Cod sursa (job #386471) | Cod sursa (job #1337469) | Cod sursa (job #716928) | Cod sursa (job #403826) | Cod sursa (job #1433772)
#include <cstdio>
#include <fstream>
#include <cstdlib>
#include <utility>
#include <algorithm>
#include <bitset>
#include <vector>
#include <map>
#include <queue>
#include <string>
#include <set>
#include <cstring>
#define LL long long
#define F(i, a, b) for (int i = (a) ; i <= (b) ; ++i)
#define V_IN(x) (V).push_back((x))
#define LLU unsigned LL
#define ALL(V) (V).begin(), (V).end()
#define V_sz (V).size()
#define mlb map <LL, bool>
#define MLI map <LL, int>
#define mp make_pair
#define pii pair <int, int>
#define SORT(x) sort ((x).begin(), (x).end() )
#define fi first
#define se second
#define VI vector <int>
using namespace std;
static const int c_max = 2000005;
bitset <c_max> viz;
int p[c_max], prime;
inline void Ciuruialaa(int N, ostream& out){
for (int i = 3; i <= N; i += 2 )
viz[i] = 1;
for (int i = 3; i <= N; i += 2) {
if (!viz[i])
continue;
++prime;
for (int j = (i << 1 ) + i; j <= N; j += (i << 1 ) ) viz[j] = 0;
}
out << prime + 1;
}
int main(){
ifstream f ("ciur.in");
ofstream out ("ciur.out");
int n;
f >> n;
Ciuruialaa(n, out);
return 0;
}